jetty竟然只支持GB2312,连GBK也不行!?!我测试好几次,最终发现只支持这一种编码.不知道别人找到支持其他编码的办法,我使用的jetty版本为jetty-6.1.22.
解决办法:在JVM参数中添加相应配置即可,如下所示:
-Dorg.mortbay.util.URI.charset=gb2312
官方的说明:
http://docs.codehaus.org/display/JETTY/International+Characters+and+Character+Encodings,
不过我没有看,呵呵.
当然还可以这样做:
把中文通过URLEncoder转一下,主要代码为:
System.out.println(URLEncoder.encode("一二三","UTF-8"));
System.out.println(URLDecoder.decode("%E4%B8%80%E4%BA%8C%E4%B8%89","UTF-8"));
前端url传入的参数是通过URLEncoder.encode转换过后的文字.
servlet接收层只需要通过以下代码设置即可:
request.setCharacterEncoding("UTF-8");
有时候不设置也可以,看你项目的整体编码以及人品了,哈哈.
本文介绍了一个关于Jetty服务器仅支持GB2312编码的问题,并提供了两种解决方案:一是通过JVM参数设置;二是使用URLEncoder对中文进行编码转换。
2485

被折叠的 条评论
为什么被折叠?



