以 UTF -8 格式提交 POST 表单数据

Aks*_*hay 7 html java

我有一个表格,用户在其中输入他的中文名字,但是当我这样做时

String strName = request.getParameter("name");
Run Code Online (Sandbox Code Playgroud)

我得到 strName 作为一些无意义的字符。作为我尝试的解决方案

request.setCharacterEncoding("UTF-8");
Run Code Online (Sandbox Code Playgroud)

在从请求对象读取任何参数之前。这奏效了。我想知道的是如何在HTML/javascript 中实现这一点。我已经尝试过

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

但这不起作用。有什么帮助吗?

Jon*_*oni 1

如果您在请求标头中定义字符集,它应该可以工作Content-Type。我相信默认情况下通常不会定义它。例如,如果您使用 jQuery 发出请求,则必须将“charset=utf-8”添加到选项中contentType: http: //api.jquery.com/jQuery.ajax/

无法强制 Web 浏览器为每个请求发送 Content-Type,因此最好setCharacterEncoding始终调用。