![]() |
エディトリアルハウスは「自費出版」をサポートする専門会社です。「自費出版」を経験してみたい方、「自費出版」にご興味をお持ちの方、高品質と明朗で適正な出版費用が自慢のEditorial House オフィシャルサイトにお越しください。cleverOne.net は、エディトリアルハウスを応援しています。
2012年02月 6日(Monday) 06:43 JST
以前に次のような記事を書いた。
備忘録:SAKURA Internet - MySQL5移行後にphpMyAdminの設定を変更して文字化け回避する。(Geeklog運用時)
実は上記の記事を書いたあと、全角ハイフン(-)と全角波形(~)が文字化けする現象があらわれていました。MySQLの照合順序を utf8_general_ci にしてSQLファイルを取り込んだのに何故だろう・・・と1週間位悩んでました。
Webでその辺を調べると「データベースには全角ハイフンで記録されているけど、ブラウザで表示した際に文字化けする」ケースが結構ありました。 ただ、私の場合はデータベースに格納する時点で文字化けしてました。おまけに、phpMyAdminで直接文字を修正しようとするとエラーとなってできない。
・・・で、その時、storiesテーブルの一部のフィールドの照合順序が ujis_general_ci になっていることに気がつきました。ついでに他のテーブルも除いてみたら同様でした。
あー、オレって馬鹿。
SQLファイルに記録されていた CHARACTER SET ujis を修正せずにインポートしてしまったため、ブラウザから入力した全角ハイフンなどをテーブルに格納する際に文字化けを起こしていました。
CREATE TABLE IF NOT EXISTS `***_stories` (
`sid` varchar(40) CHARACTER SET ujis NOT NULL DEFAULT '',
`uid` mediumint(8) NOT NULL DEFAULT '1',
`draft_flag` tinyint(3) unsigned DEFAULT '0',
`tid` varchar(20) CHARACTER SET ujis NOT NULL DEFAULT 'General', ・・・
・・・で、早速、エディターを使って CHARACTER SET utf8 に修正して MySQLにインポートしたところ文字化けもなくなりました。
この記事のタグ:sakura phpmyadmin 文字化け[meta:disc SQLファイルをインポートする時は各フィールドの照合順序の設定に注意する][meta:key MySQL,phpMyAdmin,UTF8,文字化け]
この記事にはトラックバック・コメントがありません。
サイト管理者はコメントに関する責任を負いません。