UTF-8仕様XOOPSサイトお引越し:XREA⇒エックスサーバ編3:エックスサーバーUTF-8チューニング for XOOPS UTF-8

スポンサード リンク

XOOPSをUTF-8で運用する場合は.htaccessでサーバをUTF-8向けにチューニングする必要があります。

現在休止されているのですが、かなり以前からXOOPSのUTF-8化に取り組まれてきたMultilingual CMSさんのところで解説されていた.htaccessの設定方法がコレ。


php_value default_charset UTF-8
php_flag register_globals Off
php_value mbstring.language uni
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input auto
php_value mbstring.http_output pass
php_flag mbstring.encoding_translation On
php_value mbstring.detect_order auto
php_value mbstring.substitute_character none
php_flag output_buffering Off 
php_value output_handler none
php_value session.use_trans_sid 0

この中には特にUTF-8とは関係なく、セキュリティに関するものも含まれていますが、とりあえず細かい説明は抜きでこれをXOOPSがインストールされているディレクトリに置けば万事問題なし、ということです。

しかし!エックスサーバーはこれではダメなんですね。この「.htaccessファイル」をアップロードすると「500 Internal Server Error」 になります。はじめはコレで詰まりました。

で、いろいろ調べたところ、エックスサーバーでPHPの設定をいじる場合は「php.ini」を直接使うことが判明(※注:sv50サーバー以降。古いサーバは「.htaccessファイル」で)。エックスサーバーのFAQに書いてありました(;´д` )。

で、XREAで設置していた上の「.htaccessファイル」をエックスサーバーの「php.ini」向けに書き換えたのがコレ。


default_charset = UTF-8
register_globals = off
HTTP input encoding translation = on
mbstring.language = uni
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = off
mbstring.detect_order = auto
mbstring.substitute_character = none
output_buffering = off
output_handler = none
session.use_trans_sid = off

コレを「php.ini」の名前で保存して、XOOPSがインストールされているディレクトリに置けばOK……のはずなんですが、ここにもう一つ落とし穴が!

新しい記事を加えたり、以前の記事を再編集して保存すると文字化けしてしまうんです!

これには参りました。「mbstring.internal_encoding = UTF-8」で内部の文字コードもUTF-8指定してるのにナゼ……

で、調べました。そしたら驚愕の事実が……

1.MySQLの文字コードが「EUC-JP」で固定されている
2.MySQLのバージョンが古く、各種コマンドが効かないっぽい
3.PHPの設定「mbstring.encoding_translation」が初期状態で「On」になっている。めずらしいみたいです。

この問題を解消するにはサーバのトップディレクトリ(「/home/ユーザID/」の直下)に「mbstring.internal_encoding = UTF-8」と記述したphp.iniファイルを設置します。EUC-JP等の別の文字コードで運用しているサイトを共存させる場合はそれぞれのサイトのディレクトリで改めてphp.iniファイルを設置し、文字コードを変換することになります。

この情報はWordPressカスタマイズメモさんの記事からいただきました。ありがとうございました。

これでエックスサーバーのUTF-8チューニングは完了です。

wwwwalker at 2007年04月05日 13:50│Comments(0)TrackBack(1)││XOOPS | エックスサーバ ブックマークに追加する
トラックバックURL
この記事へのトラックバック
1. UTF-8仕様のXOOPS 2.0.16a JPをXOOPSCubeへアップグレード  [ インターネット*ノート ]   2007年06月26日 18:29
XOOPSCubeもLegacy 2.1.1がリリースされ、バグ潰しが進んできたようなので、いよいよXOOPS 2.0.16a JPからXOOPSCube Legacy 2.1.1へのアップグレードを行いました……
この記事にコメントする
名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
スポンサード リンク
Recent Comments