ちょっとDB(MySQL)の中身をいじっていて文字化けに関して陥ったので、個人的なメモ。
症状
php側でデータを作る際にutf8で作成するようにし、phpMyAdminでも照合参照をutf8_general_ciに設定していたのになぜかphpMyAdmin上では文字化け状態になっていた。
ちなみにレンタルサーバーの関係上、my.cnfは編集できない(編集する必要がなかったのではあるが)
原因
各フィールドの照合参照がutf8系ではなかった。
解決
freo(CMS)上ではきちんと文字が表示され、エクスポート出来る状態だったので、そちらで各テーブルごとにエクスポートした後に、sqlファイル内の記述でutf8に設定されているのを確認し、phpMyAdminでインポートする。
また、エクスポート&インポートなどせずともphpMyAdmin上で手作業なり、SQL文なりで各フィールドの照合参照を修正してもいいと思う(未確認)
疑問
全体を一括エクスポートし、utf8に設定されているのを確認し、インポートするのでは照合参照はutf8系で認識されるのになぜか文字化けが直らないという状況が発生。しかし各テーブルごとにインポートするときちんと文字化けが直るという現象に。
やはりDBはいろいろとめんどうだなぁという印象が更に深まったのであった(´・ω・`)
あと文字化けは直ったけどこの場合、freoのconfig.phpで文字コードをUTF8にきちんと設定しておかないとサイト上で文字化けしますのでfreo使っている方はお気をつけを(たしか公式に書いてあったね)
関連エントリー
コメント
- コメントはまだありません。