Html 如何使用POST方法从textarea获取servlet中的特殊字符?

Html 如何使用POST方法从textarea获取servlet中的特殊字符?,html,jsp,servlets,encoding,Html,Jsp,Servlets,Encoding,下面是我的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" />

下面是我的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>
问题是,如果我在文本区域中键入“é”,结果将打印为“?”。我可能是一个编码问题,但我不能让它工作。我尝试在jsp页面中将字符编码更改为UTF-8,然后将以下行添加到servlet中

request.setCharacterEncoding("UTF-8");

但这并没有改变任何事情。我该怎么办?同样,我是JSP/JavaEE的初学者。

这是一系列的4个步骤

首先,您必须配置web服务器

然后,您必须强制您的web应用程序对所有请求/响应使用UTF-8编码

第三,您必须使用JSP页面编码(您已经这样做了)

最后,您必须使用HMTL元标记


这是给你的完美文章

好的,我终于让它工作了。我什么都试过了,但还是没成功?相反,我认为这可能是我的服务器故障,因为我不使用Tomcat或其他任何东西,而是使用嵌入式Jetty,其配置并不清楚

因此,我使用JavaScript发送正确编码的字符串:

send( encodeURIComponent(txtarea.value) );
在服务器端,我使用以下小功能对其进行解码:

java.net.URLDecoder.decode(request.getParameter("content"), "utf-8");
java.net.URLDecoder.decode(request.getParameter("content"), "utf-8");