日期:2014-05-18  浏览次数:20667 次

急!javascript向servlet传递汉字串参数出乱码
程序的字符集都是用的“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”,有的字符串输出没问题,如“专业类别”“单位性质”,
可有的字符串最后一个汉字总是“?”,如“石家庄”的“庄”字,“单位简介”的“介”字。
  这是怎么回事?该怎样解决呢?


------解决方案--------------------
试试:
window.location.herf=url?paname=escape( "汉字 ")
------解决方案--------------------
String name=(String)request.getParameter( "cname ");
name=name.trim();
name =new String(name.getBytes( "ISO-8859-1 "), "UTF-8 ");
---------------------------------------

我觉得你要先转换再trim()!