アーカイブ - 6月, 2008



2008年 6月 26

MySQL 4.1以降での文字化け対策についてのメモ


デフォルトの文字コードが日本語にはなっていない。
インストールしたままだと、こんな状態になっている。



mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

そこで、/etc/my.cnf に以下の設定を追加する。
文字コードはutf8 か ujis(euc) か sjis のいずれか



[mysqld]
default-character-set = utf8 [mysqldump]
default-character-set = utf8 [mysql]
default-character-set = utf8

更にMySQL4.1以降では文字コードの自動変換機能があるので以下を /etc/my.cnf に追加する



[mysqld]
skip-character-set-client-handshake


設定を変えたらMySQLの再起動を忘れずに


mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

Filed under: MySQL

Trackback Uri






2008年 6月 12

htmlをeucやutf-8等の文字コードで作成する必要がある時(cgiで作成するなど)の場合、
ブラウザが文字コードを読めない場合がある。

httpd.confに以下の記述があると.htmlのファイルには自動でヘッダが送られてしまう。



AddType "text/html; charset=Shift_JIS" .html

#AddType "text/html; charset=Shift_JIS" .html
↑#でコメントアウト


コメントアウトする事でファイルのメタタグで指定が可能になる。


Filed under: Apache,プログラミング

Trackback Uri