程序的字符集都是用的“UTF-8”,
 
在一个JSP里我在<script></script>中用“window.location.herf=url?paname=”的方式向servlet传了一个字符串变量(值为汉字串),servlet接收后,字符串显示为乱码,我进行了字符类型转换: String name=(String)request.getParameter("cname"); 
name=name.trim(); 
name =new String(name.getBytes("ISO-8859-1"),"UTF-8"); 
System.out.println("name="+name); 结果在控制台输出的“name”,有的字符串输出没问题,如“专业类别”“单位性质”,
可有的字符串最后一个汉字总是“?”,如“石家庄”的“庄”字,“单位简介”的“介”字。
 这是怎么回事?该怎样解决呢?

解决方案 »

  1.   

    试试:
    window.location.herf=url?paname=escape("汉字")
      

  2.   

    String name=(String)request.getParameter("cname");
    name=name.trim();
    name =new String(name.getBytes("ISO-8859-1"),"UTF-8");
    ---------------------------------------我觉得你要先转换再trim()!
      

  3.   

    参考我这个,blogTitle是汉字
    var blogTitle = encodeURI(document.getElementById("blogTitle").value);
      

  4.   

    谢谢,用encodeURI终于出来了。