0

私はJSPを持っています

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

head セクションでは、次のコードを使用して、コンテンツを UTF-8 に設定しようとしています。

<%@page contentType="text/html;charset=utf-8" %>

response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");

フォーム内には入力フィールドがあります。

<input type="text" value="LastName*" class="input required" name="lastName" id="lastName" />

ドイツの特殊文字に問題があります。

を使用するrequest.getParameter("lastName")と、これは FireFox では正常に機能しますが、IE では機能しません。

String encodedLastName = new String(request.getParameter("lastName").getBytes("iso-8859-1"), "UTF-8");

IE では動作しますが、Firefox では動作しません。

すべてを に変更して、フォームにiso-8859-1追加しようとしましaccept-charset="UTF-8"た...

今では、作業よりも推測です。

これはサーバー (Tomcat) 内でのみ構成できますが、ブラウザの動作に違いがあるのはなぜですか?

ありがとう、マーカス

4

1 に答える 1

0

互いに干渉する 2 つの問題がありました。

1)通常の投稿を使用する場合、次の方法で正しくエンコードする必要があります

<%@page contentType="text/html;charset=utf-8" %>

を介して正しくデコードします

String encodedLastName = new String(request.getParameter("lastName").getBytes("iso-8859-1"), "UTF-8");

2)jqueryを使用する場合、追加

contentType: 'application/x-www-form-urlencoded; charset=UTF-8'

$.ajax 呼び出しで。

于 2013-11-11T11:02:06.573 に答える