急!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()!