encodeURI的使用
xmlhttp.send("name="+encodeuri(encodeuri("中国"))); //向服务器端发送参数
在服务器端代码:
printwriter out = response.getwriter(); //得到response的输出流对象
string name1 = request.getparameter("name"); //得到key为"name"的请求参数
string name = urldecoder.decode(name1,"utf-8"); //对得到的参数进行解码
out.print(name); //向浏览器端发送数据
二,在浏览器端对要传递的中文参数进行编码处理.代码如下:
xmlhttp.open("post","ajaxservlet",true); //请求参数初始化
xmlhttp.setrequestheader("content-type","application/x-www-form-urlencoded"); //因为请求方式为post,所以这里要设置请求头.(如果请求方式为get,此句代码可以省略)
xmlhttp.send("name="+encodeuri("中国")); //向服务器端发送参数
在服务器端代码:
printwriter out = response.getwriter(); //得到response的输出流对象
string name1 = request.getparameter("name"); //得到key为"name"的请求参数
string name = new string((name1.getbytes("iso-8859-1")),"utf-8"); //对得到的参数进行解码
out.print(name); //向浏览器端发送数据
以上两种方法,在使用xmlhttprequest对象传递中文参数时,乱码问题可以在任意浏览器下解决,正确显示中文.