久しぶりに、linuxを立ち上げていじっています。
というか、MTとXOOPSのバージョンアップ前に、一度ローカル環境で試しておこうと思って、うちのlinux環境にMTとXOOPSをつくってたました。
もう、単純にMySQLのダンプから、リストアすれば済むと思ってたんだけれど、甘かった。MTの管理画面が、いきなり文字化けです。こんな感じ。
なかなか、原因つかめなかったんですが、以下のページに書いてあった事を試したら、文字化け解消しました。どうも、MySQLのバージョンとも関係しているみたいです。
[自己解決しました よくよく調べてみたところ使っていたMySQLのバージョンは5.0.41で skip-character-set-client-handshakeが使えないようですね。。。
そこでご指摘していただいたSET NAMESですが下記サイトが参考になりました
http://yossy.iimp.jp/wp/?cat=19skip-character-set-client-handshake
の一文を消して
init_connect=”SET NAMES utf8″
に書き換えたところ文字化けが治りました!
7.XOOPS_ROOT_PATH/class/database/mysqldatabase.php にパッチを当てる
[ XOOPS Cube日本サイト - 文字コードのクライアントハンドシェークは正しい処理? ]ここまでたどりつくのに結構苦労しました。かなりの時間を費やしてしまった。これで、ようやくバージョンアップ実験ができるところまで準備が出来ました。
[追記]
MovableTypeの設定にSQLSetNames
というのがあった。これを設定しておくと、MySQLの接続時にSET NAMES charcode;
を実行してくれる。charcodeはPublishCharset
で指定した値となる。
PublishCharset utf-8
SQLSetNames 1
この記述を追加すればよい、XOOPS側をハックするよりも、設定ファイルに記述するだけなんで、リスクは少ないと思われる。
一語で検索
文字コード を一語で検索
文字コードでの検索結果をマッシュアップ。一語から広がる言葉のポータルサイト。