日期:2014-05-17  浏览次数:20726 次

URL中文参数乱码解决
HTML code

<a href='findBook_bookAuthor.action?bookAuthor=<%=java.net.URLEncoder.encode(<s:property value="#request.bookInfo.bookAuthor"/>,"UTF-8")%>'><s:property value="#request.bookInfo.bookAuthor" /></a>


在访问一个struts2的action时,获取request中的一个中文值作为URL的参数,在传过去后出现乱码。此处希望使用URLEncoder.encode转码,然后在action处解码。
相信认真看了应该理解我的意图,转码处这么写有错误,可我又不知如何改正,请大大们赐教。

------解决方案--------------------
探讨
引用:

浏览器会把你的中文参数转换成GBK格式的吧
URLEncoder.encode(<s:property value="#request.bookInfo.bookAuthor"/>,"GBK")
你把 这个 打印出来看看 是不是 你得到的乱码
在后台 你可以把参数再转换一次,或者干脆 不用中文传值

我原本的代码是<a href='findBook_book……

------解决方案--------------------
探讨

引用:

浏览器会把你的中文参数转换成GBK格式的吧
URLEncoder.encode(<s:property value="#request.bookInfo.bookAuthor"/>,"GBK")
你把 这个 打印出来看看 是不是 你得到的乱码
在后台 你可以把参数再转换一次,或者干脆 不用中文传值

我原本的代码是<a href='findBook_……

------解决方案--------------------
你把你的TOMCAT下的。servlet.xml加上一句找到Connector这个标签加上useBodyEncodingForURI="true"