0

だからここに私のHTMLコードがあります:

<!doctype html>
<html lang="fr">
  ...
  <form action="servlet" method="post">
    <textarea name="content" rows="30" cols="80" spellcheck="false"></textarea>
    <input type="submit" value="SEND" />
  </form>
  ...
</html>

そして、サーブレット部分

String content = request.getParameter("content");
System.out.println(content);

問題は、テキストエリアに「é」と入力すると、結果が「?」と出力されることです。エンコーディングの問題かもしれませんが、うまくいきません。jsp ページで文字エンコーディングを UTF-8 に変更してから、次の行をサーブレットに追加しようとしました。

request.setCharacterEncoding("UTF-8");

しかし、それは何も変わりません。私は何をすべきか ?繰り返しますが、私は JSP/Java EE の初心者です。

4

2 に答える 2

1

わかりました、ようやく機能しました。私はすべてを試しましたが、まだですか?éの代わりに、Tomcatなどを使用していないため、組み込みのJettyを使用しているため、サーバーの障害である可能性があります。構成はそれほど明確ではありません。

そこで、JavaScript を使用して、適切にエンコードされた文字列を送信します。

send( encodeURIComponent(txtarea.value) );

サーバー側では、次の小さな関数でデコードします。

java.net.URLDecoder.decode(request.getParameter("content"), "utf-8");
于 2012-09-03T09:00:12.970 に答える
1

これは一連の 4 つのステップです。

まず、Web サーバーを構成する必要があります。

次に、Web アプリですべての要求/応答に UTF-8 エンコードを使用するよう強制する必要があります。

3 番目に、JSP ページ エンコーディングを使用する必要があります (既に使用しています)。

最後に、HMTL-meta タグを使用する必要があります

これはあなたにとって完璧な記事ですJava WebアプリケーションでUTF-8を動作させる方法は?

于 2012-08-31T23:13:16.363 に答える