Servlet表单乱码

looly 发布于 2014/07/03 12:00
阅读 369
收藏 0

在做一个Servlet小的Demo(Tomcat,Windows下),一个表单中有个中文字段,到getParameter的时候乱码了(一堆问号),页面什么的全部是utf8,我做了以下修改

request.setCharacterEncoding("utf8")      失败了,还是乱

然后我new String(value.getBytes("ISO-8859-1"), "utf8")成功了……

难道表单提交全部encode成ISO-8859-1了?难道我以后写代码要加上这句恶心的转码么……有没有什么好的方法或者哪位大侠给解释下这个原理,不胜感激。 

加载中
0
looly
looly
该评论暂时无法显示,详情咨询 QQ 群:点此入群
looly
looly
回复 @TonyJian : 貌似Jetty也得设置吧,地方不一样
TonyJian
TonyJian
其他中间件根本不需要设置,只有tomcat需要
1
TonyJian
TonyJian
该评论暂时无法显示,详情咨询 QQ 群:点此入群
1
纳兰清风
纳兰清风
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
N
Neal1989

你可以参考一下这个: 其实就是加一个filter 就好了

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>
            org.springframework.web.filter.CharacterEncodingFilter
        </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

0
PengKangde
PengKangde
使用post提交
0
泡泡猪

同样的问题已解决,灰常感谢


OSCHINA
登录后可查看更多优质内容
返回顶部
顶部