0

タペストリーフォームに問題があります。私のXMLデータベースはエンコーディングに非常に敏感であり、utf-8が必要です。

文字「à」をフォームに入れると、タペストリーは「Ó」を受け取り、コアはエラーを受け取ります:3バイトUTF-8シーケンスの無効なバイト2。

私は、Tomcatのローカルデフォルト構成でのEclipseの問題はありません。

しかし、Tomcatの構成が何であれ、私のアプリケーションは変換自体を実行する必要があると思います。

だから私は試してみます:

  • charset = "utf-8" in form => FAIL
  • AppModuleのbuildUtf8Filter=>FAIL

すべてのページの文字セットは常にutf-8です。

では、Java文字セットエンコーダーを使用する前に何ができるでしょうか?

助けてくれてありがとう。:)

4

2 に答える 2

1

アプリケーションに問題はないと思います。TapestryはデフォルトでUTF-8のすべてを実行します。そのwikiページはかなり古くなっています(5.0.5ベータ版を参照してください。ファイルがアップロードされたフォームではまだUTF-8が適切に使用されていませんでした)。

あなたはあなたがローカルで問題を抱えていないと言っています。別のサーバーで実行してみましたか?問題がない場合は、サーバーのオペレーティングシステムのコードページ設定に問題がある可能性があります。

以下の純粋な事例証拠

実稼働サーバー(SUSE Linuxを実行している)のTapestry 5アプリで、他のサーバーでは再現できない同様の文字セットの問題が発生したことがあります。アプリケーション、Tomcatサーバー、およびシステムのコードページ設定ではすべて問題ないように見えましたが、POSTデータはアプリケーションでUTF-8ではなくISO8859-1としてデコードされることになります。問題が発生する前に、アプリはそのサーバーで1年間実行されていました。おそらく、オペレーティングシステムの更新によってです。

どこにも行かなくなった1日後、サーバーOS全体を再インストールするだけで、すべてが正常に戻りました。

于 2010-08-20T07:31:42.590 に答える
0

問題は、Windowsシェルで起動されたJVMのデフォルトの文字セットに関するものでした。FileWriterで問題が発生し、コンソールに不正な文字が表示されました:)

于 2010-08-24T11:42:50.423 に答える