0

クライアント側にjavascriptとajaxフレームワークを使用し、サーバー側にJavaグラスフィッシュを使用しています。

私はこのテキストでメールを送信しようとしています:

"àèìòù !"£$%&/()=?^"

しかし、投稿リクエストを(Javaサーバー側に)読み取ると、次の結果が得られます。

"à èìòù !"£$%&/()=?^"

すべての html 特殊文字をそれぞれの html コードに変換する必要があります。次に例を示します。

& -> &
à -> à 

どのようにできるのか?この操作を実行する JavaScript ライブラリはありますか?

4

2 に答える 2

4

これまでで最も愚かな決定の 1 つにようこそ。サーブレットの仕様では、デフォルトのエンコーディングを (UTF-8 ではなく) ISO-8859-1 にする必要があると定義しています。

したがって、Java アプリケーションが POST 後にこれらの文字を正しく読み取るためには、文字セットを強制的に UTF-8 にするサーブレット フィルターを設定する必要があります。これは、ほとんどの (すべてではないにしても) ブラウザーがデフォルトの文字セットとして UTF-8 を使用し、Accept-Charset ヘッダーを設定しないために発生します。

これは非常に一般的なことであり、Tomcat はこれらのフィルターの 1 つをバンドルしています ( POST パラメーターの解釈方法を変更するにはどうすればよいですか? )。別のサーブレット コンテナーにデプロイする予定がある場合は、独自のフィルターを作成することをお勧めします (Tomcat からフィルターをコピーして貼り付けるだけです)。

于 2012-09-30T10:14:02.437 に答える
-1

はい!これに使用できるメソッドがあります。1 つの例は、replace(); です。方法。詳細はこちら

于 2012-09-30T10:13:34.600 に答える