Fedora Core 4で、SEO対策(Google対策)用Webシステムの開発を行いました。UnixやLinuxといえば、文字コードはEUCなのですが、Fedora Coreは、UTF-8なので、ちょっと厄介です。
通常は、Apache/PHP/MySQL/PEAR/SSLなど、全てソースからコンパイルしてインストールするのですが、とりあえず開発ということで、今回は、Fedora Coreのパッケージを利用しました。パッケージインストールは細かい設定ができないとバカにしていたのですが、コンパイルの失敗など、インストールにかかる時間を考えると、かなりお得です。
rpmインストールなので、楽々インストールだったのですが、1つだけ困ったことがありました。ターミナルから、直接日本語をSQL文でINSERTしても問題ない(DBはEUCで作成済み)のですが、PHP経由で日本語をINSERTすると、DBが文字化けします。POSTで投げる時に、accept-charset="EUC-JP" のように、タグのオプションでEUC指定してもダメで、丸1日悩んだので、解決法を掲載しときます。
●Fedora Core 4 & PHP+MySQL & EUC での文字化け対策
/etc/my.confに以下を追加
---------------------------
[mysqld]
default-character-set=ujis
init-connect=SET NAMES ujis
[mysql]
default-character-set=ujis
---------------------------
default-character-setは、いろいろなサイトやマニュアルに指定するよう書いてありますので、初期設定できちんと書いていました。が、init-connectを書いていなかったため、PHP経由でWebからDB登録した時に、DBの中身が文字化けしてしまったようです。
普通にインターネットをする(とはいっても、ヤフオクやアフェリエイトなどを行うくらい)方が、"喜ぶ" かつ "役立つ" ホームページを作っているので、非常に楽しいです。自分が、こんなサイトがあったらいいなと思うサイトは、みんな欲しいんですよね。2005/8/11
関連:Fedora Core 4でパッケージの自動アップデート(更新)
|