跪求webwork中文乱码问题

07-11-07 wanghua305
url中的参数http://localhost:7001/front/movieTicket/getTicketInfo.action?shopsn=100001921&cinemaid=11&transactionid=27653&tickets=%ce%e4%ba%ba%d0%cb%bb%e3%d3%b0%d4%ba%2c%a1%b6%d0%d6%b5%dc%d6%ae%c9%fa%cb%c0%cd%ac%c3%cb%a1%b7%2c11%d4%c27%c8%d5+21%3a50%2c%b9%f3%b1%f6%cc%fc%2c3%c5%c51%d7%f9&money=55.00&mac=E21F4A20AB0839C947486D37357C51CE
传递到action中 tickets为乱码!!求怎么在action中把tickets变成中文?
由于整个项目是"utf-8"的不能在webwork.properties中设置
webwork.locale=zh_CN
webwork.i18n.encoding=gbk
整个项目都会出现乱码!!跪求解决办法!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

banq
2007-11-07 23:08
这个问题不是webwork问题,是一个通用问题,你的URL参数中出现中文,那么就取决于URL所在的操作系统,如果是中文IE,那么这个tickets中文值就是GBK编码,而如果在Linux下用的firefox,则可能是ISO8859。

你需要进行逐个转换。

就象本站http://www.jdon.com/sitemap.html页面中,“权限设计”对应的链接URL包含中文,因为sitemap.html是GBK编码,所以这个中文是GBK的,如果将同样链接放在本帖子中,就不能这样写,因为本帖是UTF-8编码。




[该贴被banq于2007-11-07 23:12修改过]

cnng007
2007-11-07 23:55
此问题共有三处会影响你是否能正确得到通过URL传递的中文

UTF-8编码

1.服务器端对URL解析的编码设置 如tomcat5的 URIEncoding="UTF-8"
2.如果在生成url连接时是用java生成的应该使用URLEncoding对中文进行编码
3.如果是通过javascript生成连接或open一个新的窗口应该使用encodeURIComponent(中文)来生成连接。

才能正确的取得中文

workants
2008-11-05 17:26
请问banq老师:你说的需要进行逐个转换是什么意思啊?怎么实现通用的问题