[PC][Drupal]文字化け原因判明!

Submitted byshin on土, 2009-11-21 18:03
10ヶ月程前にさくらのレンタルサーバーに移って以来、「①」「~」「□」等の漢字が、過去の記事・
新規投稿含めて「?」に化けてしまうという症状に苦しんでいたんだけど、やっと原因が判明
ずっと、(コメントが有効にならない問題がオプションで解決したという経験もあって)Drupal6.x
の仕様だと思っていたんだけど、
  1. ホスティングサービス変更
  2. Drupalのバージョン変更
  3. MySQLバージョン変更
と一気に環境が変わったせいで勘違いしていたらしく、実は、DrupalではなくてMySQL(MySQL5から
UTFが標準になった事に関係)のせいだったという結論



たまたまアクセスした MySQLのテーブルの照合順序をUTF-8にするというサイトを読むと、
データベースで設定している文字コードの照合順序を規定する変数が間違えているとこんな症状に
なるらしい。

で、さくらのphpmyadmin2から、node_revisionsテーブルを選択、構造から、
bodyフィールド/titleフィールド/teaserフィールドの照合順序を"ujis_japanese_ci"
ではなく"utf8_general_ci"にすればいい。

今更確認する気は無いんだけど、これをやっていたら、文字化けも苦労しないで済んだのかも。

[余談]
CMSは便利なんだろうけど、自分が理解できずに動かしている部分が多くて、もしもの時に
対応し辛いのが欠点(LAMPもわかってないし)。
MySQL位は理解したいなあと思っていたんだけど、こんな文字コードの話まで出てくると最初から
あきらめた方が幸せかも?とちょっと弱気になってしまうのだった。

[追記]
残るlogフィールドは変更する必要が無いのか、参考サイトの方に確認すると、データが入っていない
から設定しなかったとの事。
折角なのでこちらも修正。