2008年6月アーカイブ

ローカルマシンに MediaWiki をインストールした。先日 Wikipedia のある大物管理者さんがご自身のブログで MediaWiki をローカルで使用する効用について述べられていたので自分もやってみる気になったのだ。

自分の場合は Linux 環境へのインストールなのでそれほど難しいことはないのだけど、文字コード関連でつまづくところがあったので備忘録としてメモしておく。


まずは MySQL の設定から。MediaWiki は文字コードにutf8を用いるので、データベースの方もそれに合わせておかなければならない。/etc/my.cnfをいじってもいいけど、私はデータベースを作成する時のオプションで指定した。

mysql> CREATE DATABASE wikidb DEFAULT CHARACTER SET utf8;

ここまでは順調に進んだのだが、実際にインストールしてみると微妙なところで部分的に文字化けが起こり、ログインができないという問題が発生。いろいろと試行錯誤の末、phpのmbstring.encoding_translationという設定項目がOnになっていることが原因と判明した。Vine Linux ではなぜか/etc/php5/php.iniの末尾でこの項目が設定されているのだ。

[Vine]
output_buffering = Off
expose_php = Off
memory_limit = 32M
variables_order = "GPCS"
default_charset = EUC-JP
extension_dir = /usr/lib/php5
allow_url_include = Off
sendmail_path = /usr/sbin/sendmail -t -i
session.save_path = "/var/php5/session"
session.use_only_cookies = On
session.use_strict_mode = On
session.entropy_file = /dev/urandom
session.entropy_length = 32
session.hash_function = 1
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = On

この最後の行をOffに変更することで全てうまくいった。

mbstring.encoding_translation = Off

という具合に。

php.iniをいじりたくなければ MediaWiki をインストールしたディレクトリの.htaccessに以下の一行を書き加えてもうまくいくはず(ただし未検証)。

php_flag mbstring.encoding_translation Off

ウェブページ

このアーカイブについて

このページには、2008年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年5月です。

次のアーカイブは2008年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.38