随笔 - 72  文章 - 28  trackbacks - 0
<2011年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(4)

随笔分类(66)

随笔档案(72)

文章档案(19)

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜

项目使用的是UTF-8编码,用get方式提交的时候发现URL中如果有中文,响应页面将得到乱码。然后在tomcat的server.xml中添加了get方式和url访问解决乱码的方式useBodyEncodingForURI="true",
并在响应页面中添加了request.setCharacterEncoding("GB2312");//乱码转换
response.setContentType("text/html;charset=GB2312");
 response.setCharacterEncoding("GB2312");但是得到的还是乱码。

后来把项目改成GB2312编码,get方式提交可以得到正常的中文。后来通过百度和googl的编码得到了启发。百度中输入中文搜索,url中显示的是中文。google输入中文进行搜索,url中显示的是带%的编码。说明百度用的是GB2312编码,中文可以正常解析。google用的是UTF-8编码,所以需要对中文进行转码。

下面是我项目中的解决方案:
1、在请求页面中把中文参数进行转码
如:String content="测试短信";
content=URLEncoder.encode(content,"UTF-8");

2、在接收参数的响应页面进行中文参数的解码
如:String message= URLDecoder.decode(request.getParameter,"UTF-8");

经过这次的问题,个人认为还是用GB2312编码比较省事。
posted on 2011-09-30 11:34 kelly 阅读(1508) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: