ブログ

ウチのWordPressのMySQLの文字コードはUTF-8になっていなかった

以前、無邪気にも WordPressの漢字コードをEUC-JPからUTF-8にしたよ などと書いていたが、UTF-8になっていなかったことが判明。以下、自分用メモ

  • MySQLの4.1以降ではDBサーバー、 データベース、テーブル、そしてクライアントがそれぞれ文字コードを持っている
  • 確認方法は接続してから、statusコマンドもしくは”show variables like ‘character%’;”
  • クライアントの漢字コードの指定は必ず行う。方法は、オプションで–default-character-set=utf8もしくは接続後に”set names utf8″を発行する。mysqldumpも必ず–default-character-setを指定すること。
  • WordPressなど歴史的な事情でlatin1のデータベースにUTF-8で入れているケースが多いが、このデータはあくまでlatin1なので–default-character-setオプションなどでutf8に設定したクライアントから見ることは出来ず文字化けする。DBがlatin1ならlatin1をutf8ならutf8をちゃんと指定すること
  • mysqldumpの出力はSET NAMESで漢字コードを指定するので油断するな
  • データベースの漢字コードは”show create database [DB名]“、テーブルの漢字コードは”show create table [テーブル名]“で確認できる
  • くわしくは、くまくまーの人の記事を参考に
  • 疲れた…

similar posts

comment

よろしければ、コメントをどうぞ。トラックバックはこちら

このエントリーのコメントの購読

次のHTMLタグが使えます。: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

*Required Fields