ツイート
2013,02,27, Wednesday
MySQLからWebに吐き出すと見事な文字化け。
文字コードをセットしてデータベースを作りなおしても解消しない。 show variables like "char%";の実行結果は以下でした。 mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) latin1が表示された場合は文字化けが起こる場合があり、設定ファイルに以下のように追記します。 この記述の場合は文字コードをUTF8にした場合です。 my.cnfに以下の記述がない場合は追記 (my.cnfは/etc/my.cnf) default-character-set = utf8 skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [client] default-character-set = utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 編集が完了したらMySQLを再起動します。 確認のためshow variables like "char%";を実行 mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 上記の設定は以前に作成されているデータベースには反映せず次回に作成したデータベースから反映します。 ■東大阪大学・東大阪大短期大学部 ■東大阪大学情報教育センター ■太田研究室 ツイート
| http://www.kazdesign.org/weblog/index.php?e=712 |
| etc | 12:14 AM | comments (x) | trackback (x) | |