Top/PukiWiki/ajaxtreeの文字化け

PukiWiki/ajaxtreeの文字化け

クラブスキンの「バージョン0.3 EUC-JP」を文字コードEUC-JP環境下で利用した場合、ajaxtreeが文字化けする。
これは、同バージョンの「/html/ajaxtree」の中の「.htaccess」ファイルの中身が「AddCharset UTF-8 .html」になっているためで、ここを「AddCharset EUC-JP .html」に変更すると直る。(Apache 1.13.10以降の場合)
使っているWEBサーバのバージョンごとに対応が少しづつ異なるようなので、以下に記載する。
(いずれも「UTF-8」の設定がされていたら、あらかじめそれを削除した上で設定する。

Apache 1.13.10以降の場合、.htaccessに以下の行を追加。(2.x系も同様と思われる。)

AddCharset EUC-JP .html

Apache 1.13.9以前の場合、.htaccessに以下の行を追加。

AddType "text/html; charset=EUC-JP" .html

lighttpd の場合、lighttpd.conf に以下のような設定を付け加える。(URL部分は環境に応じて変更する。)

$HTTP["url"] =~ "^/var/www/html/ajaxtree/" {
    mimetype.assign = (
        ".html" => "text/html; charset=EUC-JP"
    )
}

ajaxtreeは以下の原理で動いている。
(やりとりするのが XML でなく HTML なので、正確には Ajax でなく AHAHらしい。)

  • Web サーバのあるディレクトリに EUC-JP で書かれた HTML ファイルを置いておく。
  • 表示中のページ (文字コード EUC-JP) の特定の箇所にそれを Ajax で読み込む。

ところがそのままだと、途中で文字コードが UTF-8 に変換されてしまうらしく文字化けしてしまう。
そこで、上記のような方法で、charset を EUC-JP に指定してやると、文字化けが回避できる。
クラブスキン同梱版以外のajaxtreeにも有効な方法。

このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

ページ新規作成

新しいページはこちらから投稿できます。

TOP