URL 参数是汉字会出现乱码
我在
openWindow("/sales/salesregister.do?globe.method=inputSalesProcessRegister&tabindex=3&dup=1&salesStatus=P&salesStatusName=技术问题&custId=",800,600)
时候当有汉字做参数的时候有的带到页面上会出先乱码,请问怎么解决.
问题点数:100、回复次数:7Top
1 楼woolceo(努力升仙)回复于 2006-03-06 21:52:29 得分 0
我也遇到这个问题。。。关注。Top
2 楼usherlight(xingtian)回复于 2006-03-06 22:14:03 得分 30
尝试以下几种解决方法:
1. request.setCharacterEncoding("GB2312");
2. salesStatusName=java.net.URLEncoder.encode("技术问题"), 然后在Action中使用java.net.URLDecoder.decode(...);
3. salsStatusName = new String(salesStatusName.getBytes("ISO-8859-1"),"GBK");Top
3 楼doway(john)回复于 2006-03-06 22:22:20 得分 30
不需要另外设计字符集,不需要 URL 解码,只需直接 URL 编码即可。
openWindow("/sales/salesregister.do?globe.method=inputSalesProcessRegister&tabindex=3&dup=1&salesStatus=P&salesStatusName=<%=URLEncoder.encode("技术问题", "utf-8")%>&custId=",800,600)
其中 "utf-8" 与应用中其他指定编码的地方保持一致。
Top
4 楼didoleo(冷月无声)回复于 2006-03-06 22:31:04 得分 0
多谢usherlight(xingtian) 提醒
可能要这么写,把它嵌到那个URL字符串里。明天上班再试。
<%= java.net.URLEncoder.encode("技术问题","UTF-8") %>Top
5 楼didoleo(冷月无声)回复于 2006-03-06 22:32:00 得分 0
呵呵,没看doway(john) 已经和我想到一起了,发晚了。看来明天有希望了。Top
6 楼jfy3d(剑事 http://www.migti.com)回复于 2006-03-06 23:22:28 得分 30
tomcat server.xml
<Connector
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK"/>
加上URIEncoding="GBK"Top
7 楼chaucer518(我爱我家的思思)回复于 2006-03-06 23:42:35 得分 10
用一个过滤器就可以了Top




