JQuery 传送中文乱码问题的简单解决办法

一、客户端先进行编码,服务端再解码。

客户端发送数据:

var names = encodeURIComponent("电费");

names = encodeURIComponent( names);

$.post("test.do?names="+name,null, function(){});

服务端解码:

获取names 参数值,然后解码。

String name = URLDecoder.decode(names, "UTF-8");

注意:必须用encodeURIComponent编码两次。

二、在 tomcat 服务端指定编码格式为 UTF-8

利用方式一虽然可以解决问题,但是很不方便,当页面中有很多地方都有中文要传送时,每个地方都必须先编码两次,然后再解码。所以推荐使用该方式。

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

相关推荐