BBS過去ログ |
| ■目次 |
「こんなページがあったなら・・・」と願っていたページを作っていただき、感謝いたします。
namazuの設定に従って設定させていただいたのですが、日本語での検索結果の文字化けが解消できません。
アルファベットでの検索は何の問題もありません。
httpd.conf, .namazurc, .bash_profile, htmlなどいろんな組み合わせで設定してみましたが、万策尽きました。
ただ、.namazurcのLangの設定をja_JP.SJISにすると検索結果のフォームの文字化けは解消されませんが、その他の表示は日本語で検索できなかった結果が表示されます。
なにとぞよろしくお願いいたします。
サバ缶様、こんにちわ。
いくつか確認させてください。
まず、事象についてですが、日本語をキーワードに検索すると検索結果の日本語が文字化けを起こし、英語をキーワードに検索すると検索結果の日本語が文字化けを起こさないということですか?
いずれの場合も検索はできているということですか?
Linuxの文字コードはどうなってますか?
(/etc/sysconfig/i18n内のLANGとSUPPORTEDの行)
httpd.confのAddDefaultCharsetはどうなってますか?
> まず、事象についてですが、日本語をキーワードに検索すると検索結果の日本語が文字化けを起こし、英語をキーワードに検索すると検索結果の日本語が文字化けを起こさないということですか?
そうです。下記URLに「hakusan」と入力して検索してみてください。
http://okumino.dyndns.org/mamazu.html
> いずれの場合も検索はできているということですか?
日本語の場合はフォームが文字化けし、検索できません。上記URLに「白山」と入力してみてください。
>
> Linuxの文字コードはどうなってますか?
> (/etc/sysconfig/i18n内のLANGとSUPPORTEDの行)
#LANG="ja_JP.UTF-8"
LANG="ja_JP.eucJP"
#SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SUPPORTED="ja_JP.eucJP:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"
>
> httpd.confのAddDefaultCharsetはどうなってますか?
AddDefaultCharset OFF
となっています。nkfは2.04にしました。
よろしくお願いします。
> そうです。下記URLに「hakusan」と入力して検索してみてください。
> http://okumino.dyndns.org/mamazu.html
> > いずれの場合も検索はできているということですか?
> 日本語の場合はフォームが文字化けし、検索できません。上記URLに「白山」と入力してみてください。
私が確認できた事象は以下のとおりでした。
・hakusanで検索すると、hakusanを含む文書を検索できた。
ただし、検索結果の日本語は文字化け
・白山で検索すると、白山を含む文書を検索できず。
また、検索結果の日本語は文字化け
namazu.cgiへ"白山"が"・壻"のように文字化けして渡されていた。
・検索結果のページのエンコードはシフトJISとなっている。
※IEのエンコードを自動選択にするとシフトJISで正しく表示される
・検索結果のページのソースをみると、以下のmetaタグが挿入されていた。
<meta http-equiv="Content-Type" content="text/html;charset=x-euc-jp">
ちなみに、当方の検索結果ページのソースをみると、上記metaタグは挿入されていない。
以上の結果から、ページのエンコードと、ソースに定義されているエンコードが
不一致をおこしている模様です。
現在のnamazurc上のLangはどうなってますか?
namazu.cgiは当サイトのように直接サーバ機上で導入されましたでしょうか?
あと、サーバ機上でnamazu 白山 /var/lib/namazu/index/としたらどうなりますか?
> ・検索結果のページのソースをみると、以下のmetaタグが挿入されていた。
> <meta http-equiv="Content-Type" content="text/html;charset=x-euc-jp">
> ちなみに、当方の検索結果ページのソースをみると、上記metaタグは挿入されていない。
なぜこのようなタグが挿入されるかは理解できません。namazu-cgiはバイナリーで確認できません。
使用しているホームページ作成ソフト(Adobe GoLive)の何かがcgiをインストールする際、読みにいっているのかもしれません。
> 以上の結果から、ページのエンコードと、ソースに定義されているエンコードが
> 不一致をおこしている模様です。
http://www.namazu.org/FAQ.html#mknmz-exception
の記述でnkfのバージョンが問題となるようですが、2.04なら問題なと思われます。
nkfが正常に働いているかどうかは確認できません。
> 現在のnamazurc上のLangはどうなってますか?
今は、EUC-JPになっています。
> namazu.cgiは当サイトのように直接サーバ機上で導入されましたでしょうか?
apt-get -y install namazu-cgi で導入しました。
remove 後、install し直してみましたがだめでした。
> あと、サーバ機上でnamazu 白山 /var/lib/namazu/index/としたらどうなりますか?
正しく検索され、正しく日本語表示されます。
お手数をかけて申し訳ありません。
御親切、感謝いたします。
> > ・検索結果のページのソースをみると、以下のmetaタグが挿入されていた。
> > <meta http-equiv="Content-Type" content="text/html;charset=x-euc-jp">
> > ちなみに、当方の検索結果ページのソースをみると、上記metaタグは挿入されていない。
>
> なぜこのようなタグが挿入されるかは理解できません。namazu-cgiはバイナリーで確認できません。
> 使用しているホームページ作成ソフト(Adobe GoLive)の何かがcgiをインストールする際、読みにいっているのかもしれません。
/var/lib/namazu/index/NMZ.head.jaの中身を確認してみてください。
このファイルがnamazuによる検索結果のヘッダ部分になりますので、もし、上記のmetaタグが存在しましたら、削除するなり、コメントアウトするなりして、mknmzを再実行後、検索を行ってみてください。
解決しました。
http://www.namazu.org/FAQ.html#set-server-encoding
の記述に従って、httpd.confに
SetServerEncoding EUC-JP
を加えたところ、問題なく日本語表示できました。
オリジナルのhttpd.confにはない設定項目のようです。
いろいろありがとうございました。
> 解決しました。
> http://www.namazu.org/FAQ.html#set-server-encoding
> の記述に従って、httpd.confに
> SetServerEncoding EUC-JP
> を加えたところ、問題なく日本語表示できました。
> オリジナルのhttpd.confにはない設定項目のようです。
>
> いろいろありがとうございました。
うまくいってよかったです。
結局、お役にたてずに申し訳ありませんでした。
ちなみに、Fedoraのデフォルトのhttpd.confにはSetServerEncodingの記述はありませんでした。なので、当方ではSetServerEncoding EUC-JPを追加せずとも、うまくいっているようです。