April 15, 2005

PukiWiki RSSの文字化け

PukiWikiを某サイトで構築したのですが、なぜかRSSが文字化けして読めない(IEのXMLプロセッサが『無効な文字です』エラーを吐く)、なんてことがあったので、どうすれば直るかを調べてみました。

原因は単純でXML宣言のところにencoding="UTF-8"にも書いてあるにも関わらず、日本語の文字コードがEUC-JP(内部コードのまま)になっていたことが発覚。要は文字コードの変換が行われていなかったみたいです。更に調べてみると、日本語の文字コード変換にはmbstringというモジュールが必要な様子。どうやらこれが組み込まれていなかったみたいです。

mbstringを組み込むためにPHPのリビルドをしました。configure時に--enable-mbstringオプションと--enable-mbstr-enc-transオプションをつけるとよいみたいです(インストール手順)。リビルド、インストール後、RSSが正しいエンコーディングで表示されるようになりました。

11:11 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/385
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。