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

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2008年 12月 8日 (月) 18:03:37 JST


寺西です。

tw wrote:
> 
> 寺西さま、ご回答ありがとうございました。
> 情報不足で申し訳ありませんでした。
> 
> > .namazurc の Lang には何を設定しているのでしょうか?
> 
>   Lang    ja_JP.eucJP  となっています。
>   (当初 Lang  ja  でした)

では、ここは Lang ja_JP.eucJP を必ず使ってください。

ただし、この設定が生きるのは環境変数 LANG が未設定の場合です。
CGI の環境変数 LANG に何か設定がある場合は無視されるのでご注意
ください。(Apache ならわざわざ設定しない限り未設定なはず)

> > また、ContentType, Charset には何が設定されているのでしょうか?
> 
> NMZ.head.ja には
> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
> としています。

いえ。ここの ContentType, Charset は .namazurc の設定を指しています。

NMZ.head.ja の話はまた後で。
 
> > それと、FAQ のこれとか確認されましたでしょうか?
> > http://www.namazu.org/FAQ.html#set-server-encoding
> 
> SetServerEncoding に関してなのですが、それらしきものとして(別物だと思い
> ますが、、)

FAQ の方も読んでおいてください。
 
> AddDefaultCharset UTF-8
> 
> の1行があるのみでした。
> 
> UTF-8 を none、 off、 EUC-JP、 eucJP に変えてみましたが
> いずれも文字化け解消には至っていません。
> (none とか off とかはググったものです )

# none は知らないなぁ。新しいバージョンでは使えるのかな??
ググるのもいいですが、きちんとマニュアルを確認しましょう。

で、http.conf 等を書き換えた後、Apache を再起動しました?
再起動しないと確か設定ファイルは読み直されませんよ。

たぶん、ここで UTF-8 と書いてあるので、レスポンスヘッダの
charset が UTF-8 になったんではないかと思います。

> なお Debian でのメインの設定ファイル apache2.conf にも
> "AddDefaultCharset" なる項目は存在しません。

デフォルトは Off だから記述がないと Off 扱いです。
 
> しかしレスポンスヘッダは namazu.cgi が返すものではないのでしょうか?

普通は「はい」です。
でも、AddDefaultCharset で書き換えられてしまっているのだと思い
ます。

> > Web ブラウザには何を使われているのでしょうか?
> 
>  Epiphany 2.14.3 を使っています。

# 使ったことないなぁ。

Gecko を使ったもののようなので、解釈は同じだろうと思いますが...。

> > いろいろとは具体的には何をどう設定したらどうなったのでしょうか?
> 
> 当初 Lang ja でしたが 文字化けしますのでこれを
> Lang ja_JP.UTF-8 に変更しましたがだめでした。次に
> Lang ja_JP.eucJP に変更しましたが文字化けは変わりません。
> 次に全てコメントアウトしましたがやはり変わりありません。

Lang ja_JP.eucJP

でお使いください。

> つまり通常、WEBページを閲覧する場合、ページに charset の宣言がある場合
> その宣言に従ってページを読み込むのにどうして宣言とは異なる UTF-8 で
> 読み込むのか、ということなのです。

まともな Web ブラウザなら META タグよりもレスポンスヘッダの
キャラセットが優先されるからです。

# しかし、そう実装されていない、とか自動判別しようとするものもある
# ので、厄介ですが。

それで、AddDefaultCharset で UTF-8 と指定しているので、
namazu.cgi のレスポンスヘッダの Charset が UTF-8 として返され、
Web ブラウザがそれをもとに UTF-8 で記述されたページだと思い
込んで表示して文字化けしているということかと思います。

> 設定次第で文字化けが解消するのでしょうか?

はい。おそらくは AddDefaultCharset Off で解決するでしょう。

namazu.cgi 以外は UTF-8 にしたいということであれば、
namazu.cgi だけ AddDefaultCharset が Off 状態になるようにすれば
良いということです。

以上、Namazu というより Apache の設定の話みたいですね。
-- 
=====================================================================
寺西 忠勝(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 メーリングリストの案内