wordpress SJIS化

ここではないですが訳あってwordpressをShift_Jis化することに。

wordpress2.0.10
PHP 4.3.9 MySQL 4.1.20
はまりパターンまっしぐらな予感です。

一度ためしで素のままインストール画面で「Shift_Jis」を選択してみましたが「アクセス権限がありません 」といわれ色々調べることに。。

MySQL(my.cnf)の設定
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

まずwordpress内wp-includesフォルダ内wp-db.php 65行目辺り
$this->select($dbname);の前の行に追記。
mysql_query(”set character set sjis”, $this->dbh); //SJISで読み出して
※SET NAMES SJIS じゃダメです。

コレで再インストール無事管理画面にログインできました。

次にかんたんな投稿テスト。問題なし。

次、よく問題になる文字列。表示 芸能。あぁダメですね。DBエラー。
エラーの内容をみてみると「能」のあとにエスケープ文字が入ってる。
magic_quotes_gpcは0ffにしてある。

wp-db.phpの90行目あたりからのescape処理。
PHP SJISで処理すると毎度毎度DBサニタイズ処理がなぁと思いつつ。
クエリーを一回UTF-8にしてaddslashesしてまたSJISに戻す。
こんなんでいいのかな(笑)

とりあえず今日はここまで。
注)ここに書いてることは、それぞれのサーバー設定、DB設定、php.iniによりけりですのでご注意下さい。

コメントをどうぞ