0

Win764ビット上のTomcat6.0.35にwarをデプロイし、Solr Adminでフルインターフェイスクエリページ(つまりform.jsp)を使用して2つの漢字(たとえばC1C2)をクエリすると、デバッグ情報に次のように表示されます。

<lst name="debug">
  <str name="rawquerystring">æ°è</str>
  <str name="querystring">æ°è</str>
  <str name="parsedquery">NEWSID:æ°è</str>
  <str name="parsedquery_toString">NEWSID:æ°è</str>
...

C1C2がæ°èになることがわかります。Linux上のTomcatまたは同僚のコンピューターの別のWin764ビットに同じwarファイルをデプロイします。エンコードは適切に機能します。誰かがこの問題を回避する理由と方法を知っていますか?

前もって感謝します!

4

1 に答える 1

0

私は問題を解決しました。悪はWin7のファイル仮想化機能です。デフォルトでは、Win7は、Windows、Program Files、ProgramDataなどのいくつかのよく知られたフォルダーでこの機能を有効にします。その結果、特定の条件下では、ファイルに二重の内容が含まれ、これは私のserver.xmlで発生します。 。

回避策は、' c:\ Users\<ユーザーアカウント>\AppData \ local\VirtualStore 'にあるクリーンなものです。長年の解決策は、「これらのよく知られたフォルダにTomcatをインストールしないでください。主張する場合は、何度もインストールとアンインストールを行わないようにしてください」です。

~~~この問題をどのように見つけますか(これを見る必要はないかもしれません)~~~

2つの言葉:「純粋な運」。いくつかのxmlエディターを使用してtomcat-users.xmlを編集し、ユーザー「test」を追加すると。Tomcatを再起動しましたが、ログインしてマネージャーUIを使用できません。tomcat-users.xmlを再確認すると、ユーザーが実際に設定されていることがわかります。別のバージョンのTomcatをアンインストールしてインストールしても、ログインは失敗します。

次に、メモ帳を使用してtomcat-users.xmlを編集しますが、Tomcatがインストールした元のバージョンであることに驚いています。メモ帳で編集してTomcatを再起動したら、今すぐログインできます。

すぐに私の考えがserver.xmlに反映され、メモ帳を使用して表示します。あはは!コネクタタグにはURIEncoding属性はありません。修正後、問題は解決しました。

Eiplog

私の場合、xmlエディターとIEの両方で間違ったバージョンが表示されますが、他のブラウザーとメモ帳では正しいバージョンが表示されます。Win7がファイル仮想化でどのアルゴリズムを使用するかはまだわかりません。そのため、回避策はしばらくは続くと思います。

于 2012-06-13T06:17:06.197 に答える