
| ・ |
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。
|
| ご利用の皆様から多く寄せられる質問にお答えしています。 |
|
| ・ |
ディーエーオフィスなどが利用する用語に関する解説を行います。
|
|
|
 |
 |  |
MySQLにおけるクライアント接続とPHPからの接続が異なり文字化けしますが? |
my.cnfなどでクライアント接続を具体的に指定します。
MySQLにおける接続設定とは、(1)サーバ自体、(2)データベース、(3)クライアントなどがあります。しかし、クライアントにおける接続とは、PHPなどからの接続を想定しているものではないと考えます。プログラム側で対処するときには、各MySQLへのデータ取得前でクエリ「SET NAMES」を送信しますが、サーバ側で対処するときは、my.cnfへ記述することで対応します。しかしながら、my.cnfは共有サーバの場合、他のサーバへの影響もあるため、簡単に変更することは難しいものです。敷設時に検討の上設置すべきです。
また、「skip-character-set-client-handshake」といった設定もあります。MySQL4.1以降ではサーバとクライアント間で文字コードが自動変換されるようになっていますが、自動変換を行わないための指定になります。(導入の仕方によって、残念ながら指定できない場合もあります。)
! my.cnfでの変更例
vi /etc/my/cnf
今回紹介した設定をまとめて紹介します。以下の行を追加、もしくは修正して利用します。
init-connect="SET NAMES ujis"
skip-character-set-client-handshake
終了後はMySQLを再起動します。
! mysqlでの文字コード関係の設定例
mysql> SHOW VARIABLES LIKE 'char%';
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
http://www.mysql.gr.jp/mysqlml/mysql/msg/12307
|
| 文書番号 |
06714 |
| 日付 |
2006.05.11 |
| 参照数 |
813 |
|