掲示板を作成するために、MySQLを使用しようとしたら、やはり文字化けが発生していたので、玄箱WEBサーバのLAMP(Apache2.0、PHP4、MySQL4.1)を完全にUTF-8化しました。これまで、漢字コードはいい加減な設定でしたが、これを機にすべて修正しました。UTF-8に統一した理由は、もともと玄箱Debianの漢字コードをUTF-8に設定したためです。EUCでも良かったのですが、これからはUTF-8かな?と思ったからです。私の環境ですが、次の通りです。2007年5月現在、aptitudeで取得できる安定版の最新バージョンのはずです。2.6.2Windows用XAMPPと各ソフトのバージョンは違いますが、変更した内容は、「Windows用XAMPPのUTF-8化」とほとんど同じです。PHPの設定(php.ini)まず、php.iniの修正です。このファイルは、/etc/php4/apache2の下にあります。「PHPも入れてみる」を書いた頃は、何も分かっておらず、default_charsetだけEUC-JPにしていましたが、これらをUTF-8にすべて変えます。mb系の関数オーバーロードなしこの後、次のコマンドでApache2を再起動します。restartそして、次のことが書かれたphpinfo.phpというファイルをhttp://玄箱のIPアドレス/phpinfo.phpでアクセスします。?>すると、上で設定した内容が反映されているはずです。この辺りは、釣ったよ!さんのページに分かりやすく書いてあります。私は、そのページにあるテスト用のスクリプト(phpファイル)をUTF-8に変換して試しました。上の設定で正しく動いていることを確認しました。MySQLの設定(my.cnf)玄箱のMySQLもv4.1以上なので、XAMPPの設定同様、文字コードに関係する環境変数がたくさんあります。XAMPPと違って、/etc/mysql/my.cnfだけですんなり設定できました。追加・変更したのは次の通りです。utf8とりあえず、skip-charcter-set-client-handshakeは追加しませんでした。うまくいかなかったら、記述しようと思ったのですが、なくても意図どおり設定できました。上記設定の後、次のコマンドでMySQLを再起動します。restart正しく動作するかの確認ですが、次のように、MySQLコマンドで、各変数が設定されていれば、OKです。sec)mysql>また、手元にMySQLのダンプファイル(EUC-JP形式)があったので、これをUTF-8に変換し、ファイルdump_utf8.txtとしてを読み込ませ、select命令で、文字化けせずに表示されることを確認しました。****mysql>phpMyAdminの設定(config.inc.php)玄箱のphpMyAdminの設定ファイルは、/etc/phpmyadmin./config.inc.phpですが、XAMPPのような設定箇所がなかったので、特に何も変更しませんでした。それでも、問題なく日本語のデータベースの作成、検索、表示ができました。結局、一番ハマッタのがホームページビルダーv11(以後、HPB)の編集画面でうまく表示させるための設定でした。UTF-8に移行するために、全ページをUTF-8、改行はLFに変換し、次のように<meta>タグをUTF-8に変更しました。charset=UTF-8">この後気付いたのですが、SJISとUTF-8では、同じマシン(WindowsXP)、同じブラウザ(IE6)で見ても、欧米フォントが異なることに気付きました。なんじゃそりゃ?です。ネットで調べると、同じような人がたくさんいて、解決策としては、次のようなfont-familyを設定すればいいのですが、スタイルシートファイル*.cssに設定しても、HPBがうまく読み取ってくれませんでした。Pゴシック",sans-serif;}編集画面の文字がカッコ悪いフォントになり、文字幅もブラウザで見たときと大きく変わってしまいました。HPBの一番の利点はWYSIWYGなので、これでは台無しです。したら、UTF-8に変えたので、日本語名フォントがよくないのかな?と思い、次のような英語表記にしましたが、これも駄目でした。PGothic",sans-serif;}どうやら、HPBはスタイルシートにあるfont-familyをうまく読み取ってくれないようです。悩んだ挙句、結局、全ファイルに次のようなスタイルを埋め込むことで、うまくいきました。--></style>う~ん。ほとんどスタイルシートの意味ないじゃん!IBMさん、なんとかして。そもそも、漢字コードが違うだけで、表示が違ってしまうIEも何とかしてほしいです、マイクロソフトさん。最後は愚痴になってしまいましたが、これで完全にUTF-8に移行できました。一応、Fedora6のFireFoxでも確認しましたが、これまで通り文字化けせずに表示されているので、大丈夫だと思います。