オルタナティブ・ブログ > ビジネスをデザインするブログ >

事業開発ほどクリエイティブな行為は他に無いと思いこんでいる人間の日常

続 Wordpress on Microsoftを日本語でちゃんと動かす(備忘)。

»

前回のエントリで、SQLのカラムをnvarcharとかに変更し、WordPress側の管理画面で文字コードをShift_JISにすれば、なんとか、というのを書いたのですが、やっぱり、こそばゆいので、ちょっと掘り下げてみました。

WordPressはUTF-8を推奨

と、いろいろなところに書いているので、やっぱりSJISで動かすのは負けた気がするのと、結果として動けばいいのですが、特定の文字列でビット落ちみたいになるので、やはりUTF-8で動かしたい。

やることは、

0)WordPress on Microsoft (SQL Server) をインストールする

1)SQL Server のテーブルのデザイン(データ型)を変更する

2)WordPressのソースコードを少しだけいじる

3)マルチバイトプラグイン、日本語化モジュールを入れる(オプション)

です。

0)は、

http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server

こちらを参考にしていただくとして、

まず、1)。

SQL Server Management Studioで、デザインを開き、11個あるテーブルの型を1つ1つ変更します(そんなに大変じゃないです)。

varchar() → nvarchar() に変更

text → ntext

ntextは消えるといわれているのと、UNICODE対応で文字数が半分になるので、オーバーフロー等を考えると、nvarchar(8000)とかにしたほうがいいかもしれません。ま、Azureへのポーティングを意識するなら、n*しか対応してないので、いやおうなしですけど。

2)ですが、

Wordpress_home\wp-includes\wp-db\sqlsrv\sqlsrv.php (Wordpress_homeは環境に依存)の、403行目から406行目あたりにある接続情報を設定する箇所に標準のCharacterSetをUTF-8として加えてやります!

$connection_info = array(
   'UID' => $dbuser,
   'PWD' => $dbpassword,
   'Database' => $dbname,
   'CharacterSet' => 'UTF-8',
  );

基本これでOKです。

3)については、オプションですが、

http://ja.wordpress.org/install-ja/

http://eastcoder.com/code/wp-multibyte-patch

からダウンロードし、手順にしたがってインストールすればいいでしょう。パッチ(プラグイン)の方は適用したほうがいいかもしれません。

軽くテストした範囲では問題は有りませんでしたが、ま、付け焼刃なので、何かあるかもしれませんが、あれば、また、改めてUPします。

あと、Azureに乗っけてみたいと思います。

ではでは。

Comment(0)