XOOPS(XOOPS Cube)のモジュール、運営、UTF-8化等についてまとめたドキュメント。
 
Welcome Guest 
Google
 
スポンサード リンク
トップ  >  UTF-8構築・運営  >  XOOPS Cube UTF-8仕様化覚書

XOOPS Cube UTF-8仕様化覚書

このドキュメントは次世代XOOPSこと「XOOPS Cube」をUTF-8で構築運営するための手順を記した覚書です。

技術的な面を含めた詳しいドキュメントはXUGJで公開されています(※要ユーザ登録)。XOOPS CubeをUTF-8で構築運営するための必読資料です。

ここでは私が実際に行った手順を覚書として残しておきます。

1.「.htaccess」によるサーバUTF-8化チューニング

XOOPS Cubeを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とは関係なく、セキュリティなどに関するものも含まれていますが、ここでは細かいことは追求しません。これを「.htaccess」という名前で保存して、XOOPS Cubeをインストールするディレクトリに置きます。

なお、エックスサーバ(sv50サーバー以降)では、PHPの設定は「php.ini」で行います。次の内容を「php.ini」の名前で保存して、XOOPS Cubeをインストールするディレクトリに置きます。


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

この他、エックスサーバではMySQLの文字コードが「EUC-JP」で固定されており、且つ「mbstring.encoding_translation」が初期状態で「ON」になっているという変わった設定になっている(※参照:WordPressカスタマイズメモ)ようで、別途サーバのトップディレクトリ(「/home/ユーザID/」の直下)に「mbstring.internal_encoding = UTF-8」と記述したphp.iniファイルを設置する必要があります。

※注:EUC-JP等の別の文字コードで運用しているサイトを共存させる場合はそれぞれのサイトのディレクトリで改めてphp.iniファイルを設置し、文字コードを変換する。

2.XOOPS Cube のUTF-8言語ファイルの作成

言語ファイルをUTF-8化します。最新のXOOPS Cube(Legacy 2.1.1)では「extra」ディレクトリの「extra_languages」の中にUTF-8化された言語ファイルが用意されていますから、それをそのままコピーして使えばOKです。

3.モジュールのUTF-8化

ここ最近になって公式にUTF-8をサポートするモジュールが登場し始めていますが、その他大部分のモジュールはEUCを前提に作られているので、そのままインストールすることはできません。

UTF-8化した言語ファイルを用意すればすぐに使えるモジュールもあるのですが、それ以外のPHPファイルで日本語のコメントを使っていたり、内部文字コードがEUCで決め打ちされていたりと、あれこれといじらなければならないモジュールも少なくないのが現状です。

ファイルのUTF-8化は適当なPHPとEUC・UTF-8コードを扱えるエディタでファイルを開いて、文字コードを「UTF-8N」、改行方法を「LF」にして保存するだけです。

変更する必要のあるのはEUCファイルで、ASCIIファイル(アルファベットのみのファイル)は変更する必要はありません。ただ、ファイル数が多いので、一つ一つ開いては文字コードを確認していくのは非常に骨が折れる作業でもあります。

そこでそんな作業はプログラムで一発で……と思い立つのは人の性と言うもの。もちろん需要があるところには供給があるのが社会と言うものですから、そんな要望を実現してくれるソフトも存在してます。私が使っているのがこのソフトです。

jme 漢字コード変換プログラム

モジュール内のファイルを一括登録させる場合はエクスプローラの検索で「*」として検索し、一覧に表示されたファイルを選択してドロップダウンすれば良いでしょう。

後はPHPコードの中で直接EUCを指定している箇所をUTF-8に変換すればよいのですが、これもファイル検索でそれらしい箇所を探してから修正する方が断然早いです。

ただ、この作業は場合によっては多少の知識が要求される作業でもあります。私の場合は結構デタラメにやっちゃってる気がしますが。

プリンタ用画面
友達に伝える
投票数:37 平均点:10.00
カテゴリートップ
UTF-8構築・運営
次
UTF-8変換モジュール Utf8LangMgrの負荷問題
ログイン
ユーザ名:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録
メインメニュー
XOOPS実験室メニュー
メニュー
コンテンツ一覧
サブカテゴリー一覧
オンライン状況
4 人のユーザが現在オンラインです。 (1 人のユーザが XOOPSドキュメント を参照しています。)

登録ユーザ: 0
ゲスト: 4

もっと...
スポンサード リンク
XOOPS Cube PROJECT
2007 © 文系ウェブマスターのなんちゃってXOOPS実験室