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对象传递中文参数时,乱码问题可以在任意浏览器下解决,正确显示中文.

你可能感兴趣的:(浏览器)