検索結果の URL 表示の一部の全角文字が化けます

(from osdn.net/users/shogo215)
お世話になっています。

8.2.0 を使わせていただいています。

Windows の Web サーバをクロールしているのですが、パス名(フォルダやファイル)に「★」が含まれた

ファイルがヒットしたときの検索結果の URL (緑色で表示されるところ)が文字化けします。

例えば、検索結果の html のソースは「~/Contents/★MainContents/…」となって

欲しいところが、「~/Contents/笘?MainContents/…」となってしまいます。

(「?」は表示不能な文字コードでしたので「?」にしています。)

今のところ「◎」等の記号や通常の全角漢字の文字化けは見られませんが、「★」だけが化けていて

この文字化けを回避できないかと考えています。

そもそも「★」のような特殊な全角記号を使うのが問題なのかも知れませんが、もし対処法がありましたら

ご教示をお願いしたく存じます。

なお、この現象は以前のバージョンから続いています。

以上、よろしくお願いいたします。

(from osdn.net/users/shinsuke)
HTMLファイルのリンク(aタグ)に「★」が記述されているURLをクロールしている

状態でしょうか?

(from osdn.net/users/shogo215)
補足です。

検索して http://www.example.co.jp/Contents/★MainContents/FILE.html がヒットしたときに

表示される検索結果の画面の緑色のリンク表示が化けています。

検索結果のタイトルをクリックすると、上記 html が正しく表示されます。

クロール設定は、

URL: http://www.example.co.jp/Contents/★MainContents/

クロール対象とするURL: http://www.example.co.jp/Contents/★MainContents/.*

検索対象とするURL: ..[a-zA-Z]$

としています。

設定の URL に「~/★MainContents/~」と記述するとうまくクロールできなかったので

「~/%E2%98%85MainContents/~」と指定してクロールできるようにしています。

http://www.example.co.jp/Contents/★MainContents/ 配下には index.html ファイルを置かず、

ディレクトリの Index を取得して配下にある全ファイルをクロールしてもらえるように設定しています。

以上、よろしくお願いいたします。

(from osdn.net/users/shinsuke)
webapps/fess/WEB-INF/classes/s2robot_transformer.dicon

の次の行に

“UTF-8”

を加えてみてはいかがでしょうか?

(from osdn.net/users/shogo215)
ご教示ありがとうございます。

下記のとおり encoding を追加し、fess の再起動とインデックスを削除してからのクロールの再実行を

してみましたが現象は変わりませんでした。

webapps/fess/WEB-INF/classes/s2robot_transformer.dicon

=====

<component name="fessFileTransformer" class="jp.sf.fess.transformer.FessFileTransformer" instance="singleton">

	<property name="encoding">"UTF-8"</property>

	<property name="name">"fessFileTransformer"</property>

<component name="fessTikaTransformer" class="jp.sf.fess.transformer.FessTikaTransformer" instance="singleton">

	<property name="encoding">"UTF-8"</property>

	<property name="name">"fessTikaTransformer"</property>

=====

検索結果のソース表示は下記のとおりです。

=====

				<h3 class="title">

					<a href="http://www.example.co.jp/Contents/%E2%98%85MainContents/FILE.html" class="link">

					<div class="site ellipsis">

						<cite>www.example.co.jp/Contents/笘?MainContents/...</cite>

					</div>

=====

ちなみに、同様の設定で「◎」を含むディレクトリもクロールしているのですが、

その配下がヒットした時は「◎」がそのまま表示されます。

検索結果のソースは下記のとおりです。

=====

				<h3 class="title">

					<a href="http://www.example.co.jp/Contents/%E2%97%8EIndex/FILE.xlsx" class="link">

					<div class="site ellipsis">

						<cite>www.example.co.jp/Contents/◎Index/FILE.xlsx</cite>

					</div>

=====

何度も申し訳ありませんがよろしくお願いいたします。

(from osdn.net/users/shinsuke)
調査しました。

問題が発生する条件は、

  • URLのエンコーディング

  • そのURLのコンテンツのエンコーディング

が異なる場合に発生しています。

たとえば、URLがUTF-8でそのURLのHTMLがShift_JISの場合になります。

設定等では回避できないので、Fess 9で修正させていただきます。

(from osdn.net/users/shogo215)
shinsuke 様

調査ありがとうございました。

まさにそのとおりでした。

試しに Shift_JIS の HTML ファイルを UTF-8 に変換したものを置いて検索したところ、

UTF-8 のファイルの検索結果だけが文字化けせず正しく表示されました。

URL 表示にその中身のエンコーディングが影響するとは気付きませんでした。

Fess 9 を楽しみに待たせていただきます。

ご対応ありがとうございました。