因为网站编码是gb2312。在使用prototype的ajax时遇到中文参数乱码的问题。
解决办法:
1.页面编码
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2.将参数用encodeURI()编码
var par="param1="+"中文值"+"¶m2="+"其他值";
var url="/dutyAction.do?method=chineseChange";
var myAjx=new Ajax.Request(url,{method: 'get',parameters: encodeURI(par) ,onComplete: submit});
3.服务端代码
<filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter>