我有一个表格,用户用中文输入他的名字,但是当我这样做时
String strName = request.getParameter("name");
我将strName视为一些无意义的字符。作为我试过的解决方案
request.setCharacterEncoding("UTF-8");
从请求对象中读取任何参数之前。 这有效。我想知道的是如何在 HTML / javascript 中实现这一目标。我试过了
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
但这不起作用。有什么帮助吗?
答案 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。