日期:2014-05-17  浏览次数:20734 次

servlet里如何得知客户端编码?
话说我在网页里post了一个字符串到servlet,字符串中包含中文。根据我所查资料,如果网页开头指定了编码,比如:<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 那么post时中文使用gb2312,否则使用utf-8。

第一个问题:AJAX post字符串时是不是固定使用utf-8而不管网页所指定的编码?

我在servlet里需要通过request.seCharacterEncoding("...")来指定编码,那么第二个问题就出来了:如何知道客户端POST数据时用的什么编码?智能判定?问写客户端网页的人?

------解决方案--------------------
探讨
话说我在网页里post了一个字符串到servlet,字符串中包含中文。根据我所查资料,如果网页开头指定了编码,比如:<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 那么post时中文使用gb2312,否则使用utf-8。

第一个问题:AJAX post字符串时是不是固定使用utf-8而不管网页所指定的编……

------解决方案--------------------
request.getCharacterEncoding();
response.getCharacterEncoding();

还是统一用utf-8这个编码好用
------解决方案--------------------
一般前台使用utf-8编码,$.post()一般不会乱码,
不过也可以通过
name = new String(name.getBytes("iso-8859-1"),"utf-8");进行转码
------解决方案--------------------
当然要商量好