スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MySQL 5.1 → MySQL 5.5 へアップグレードした後の文字化け対策

PHPでMySQLにデータを書き込むアプリを作ってたんだけど
以前からDBの中身をmysqlコマンドで覗くと文字化けしていた。
特に中身をいじることもなかったので放置してたんだけど
MySQL5.1 → MySQL5.5へアップグレードする際に少し手を入れて
中身を見れる必要が出てきたので文字化け対策を行うことにした。
これが、まーハマるハマる。

まず、アップグレードした段階で
/etc/my.cnfに既に

[mysqld]
character-set-server = utf8

とだけは記述されていた。
なので

[mysql]
default-character-set = utf8

の記述を追加してやり
MySQLを再起動。

show variables like 'char%';

と叩き
結果を見てみると
character_set_serverがlatin1になったまま。
あれ?おかしいな。character-set-serverはutf8って指定してるんだけどな・・・
うんうん唸って色々見てみると
/etc/mysql/my.cnfなんてのがある。
まさかと思ってここに

character-set-server = utf8

を追加してやると
無事latin1の設定が消えた。
これで大丈夫だと思ってselectしてみたんだけど
文字化けしたまま。さらに1時間半程度悩んだ後、
新しく手動でデータを突っ込んでみたら化けずに登録される。
ああ、つまり今まで登録したデータは化けたままになっちゃうのか・・・orz
あと、うろ覚えで正確じゃないかもしれないけどApacheも再起動したほうがよさそう。
たしか設定が直ったあとに日本語突っ込んだらまだ化けてたと思う。
スポンサーサイト
プロフィール

ラム君(モヒカンVer)

Author:ラム君(モヒカンVer)
都内でプログラマのようなものをやっています。
まだまだ初心者ですがよろしくお願いします。

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。