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

struct2 URL含有中文 部分中文乱码
我在Struct2获得URL的中的中文参数并转换
public void setNewsType(String newsType) {
String str=null;
try {
str=new String(newsType.trim().getBytes(),"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.newsType = str;
}

http://127.0.0.1:8888/ImportedGood/getNews.action?pageSize=1&currentPageNumber=1&newsType=媒体报道

正常输出参数:媒体报道

http://127.0.0.1:8888/ImportedGood/getNews.action?pageSize=1&currentPageNumber=1&newsType=最新报道

浏览器显示:????报道

有木有这方面经验的 求帮忙解决

------解决方案--------------------
个人建议不要在URL上传递中文.....即使要也encode一下.
你这里,可以这样试试.

str=new String(newsType.trim().getBytes("iso-8859-1"),"UTF-8");
------解决方案--------------------
在 tomcat conf  server.xml中对应的 连接器中 加上URIEncoding="UTF-8"  支持所有get请求的中文乱码 
------解决方案--------------------
是不是jsp上编码没改
------解决方案--------------------
页面两次编码,然后在java后台直接解码
------解决方案--------------------
如果汉字是固定的几个的话,建议写一个util类,把那些汉字放进去
------解决方案--------------------
用Server.UrlEncode编码