日期:2014-05-16  浏览次数:20588 次

ajax 中文乱码处理

由于页面上中提交的UFT-8编码的汉字参数在传送进web 服务器(如Tomcat)中, 会被默认以 iso-8859-1的格式进行编码, 所以在服务端取数据时要进行必要的转码, 否则乱码

?

1.

JS端:

var url = "page.jsp?name=" + encodeURI( $("#uname").val() ) ;

// $.post(url...);

?

服务端:

String name = request.getPerameter("name");

name = new String( name.getBytes("iso-8859-1"), "UTF-8" );

?

2. 更为稳妥, 并推荐使用的方式

?

JS代码: // 使用两次encodeURI

var url = "page.jsp?name=" + encodeURI( encodeURI( $("#uname").val() ) );

// $.post(url...);

?

服务器端:

?String name = request.getPerameter("name");

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