以UTF -8提交POST表单数据

时间:2012-02-06 09:06:10

标签: java html

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

String strName = request.getParameter("name");

我将strName视为一些无意义的字符。作为我试过的解决方案

request.setCharacterEncoding("UTF-8");

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

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

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

3 个答案:

答案 0 :(得分:0)

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

无法强制网络浏览器为每个请求发送Content-Type,因此最好始终致电setCharacterEncoding

答案 1 :(得分:0)

您做什么客户端会影响数据的发送方式。显然,数据 以UTF-8编码方式发送,因为问题出在读取服务器端。因此添加meta(虽然可以)对此没有影响。

答案 2 :(得分:0)

在纯HTML中,您需要<form enctype="multipart/form-data" accept-charset="UTF-8">设置为在浏览器中提交utf-8。

相关问题