[Namazu-users-ja 1123] Re: namazu-cgi 初期画面の文字化け

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2008年 12月 8日 (月) 15:02:52 JST


寺西です。

tw wrote:
> 
> 先日からnamazu-cgiを使っています。
> 
> Debian etch
> LANG=ja_JP.UTF-8
> namazu 2.0.17RC4

根本的な話ですが、Namazu は環境変数 LANG に ja_JP.UTF-8 を設定する
ことに対応していません。(namazu.cgi も namazu も mknmz も)
EUC-JP 系で設定してご利用ください。OS によりますが例えば
ja_JP.eucJP 等。

また、Namazu は 2.0.18 が公開されていますので、2.0.18 をお使い
ください。

# Debian etch リリースに間に合わなかったので 2.0.17RC4 になった
# ような気はするけど...。

> 文字化けの原因は namazu.cgi が
> NMZ.head.ja などから作り出す HTML ファイルが、
> すなわち上記初期画面のファイルが、
> 実際には euc-jp なのに、
> エンコーディングとして utf-8 を指示しているためだと思います。

.namazurc の Lang には何を設定しているのでしょうか?
また、ContentType, Charset には何が設定されているのでしょうか?


それと、FAQ のこれとか確認されましたでしょうか?
http://www.namazu.org/FAQ.html#set-server-encoding

> NMZ.head.ja には charset=euc-jp の指定をし、
> その他のテンプレート書類と一緒に特別に作成したディレクトリに
> 格納していますが、まったく効果はありません。

NMZ.head.ja に META タグで charset を設定するのは推奨して
いません。
特に CGI で使用する場合は、META タグではなく レスポンスヘッダ の
ContentType で charset を指定するのが望ましいためです。

# もっともブラウザの実装の不具合で、理想通りにならないことも
# あるわけですが。

Web ブラウザには何を使われているのでしょうか?

> /etc/apache2 配下の設定書類や .namazurc などいろいろと
> 変更しましたが効果がありません。

いろいろとは具体的には何をどう設定したらどうなったのでしょうか?

> エンコーディング utf-8 の指示を euc-jp に変えさせることが
> できません。これは環境変数 LANG=ja_JP.UTF-8 である限り
> だめなのでしょうか?

このエンコーディングの指示とはどこのことでしょうか?

先の FAQ で示した Apache の SetServerEncoding のことでしょうか?

> 折角 UTF-8 化を進めてきましたので今さら EUC-JP に戻すことは
> 考えられません。その場合はあきらめます。

Apache の SetServerEncoding のことなら、namazu.cgi だけを
EUC-JP になるようにすれば良いだけで、他は UTF-8 でも全然問題
ありません。
 
> しかし namazu 2.0.x が内部処理その他基本的に euc-jp であるのに
> どうしてエンコードの指定を UTF-8 にしてしまうのか腑に落ちません。

CGI の出力 Charset は Web サーバか CGI が指定することになります。
いずれも設定次第なので、正しく設定する必要があります。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E



Namazu-users-ja メーリングリストの案内