在做一个Servlet小的Demo(Tomcat,Windows下),一个表单中有个中文字段,到getParameter的时候乱码了(一堆问号),页面什么的全部是utf8,我做了以下修改
request.setCharacterEncoding("utf8") 失败了,还是乱
然后我new String(value.getBytes("ISO-8859-1"), "utf8")成功了……
难道表单提交全部encode成ISO-8859-1了?难道我以后写代码要加上这句恶心的转码么……有没有什么好的方法或者哪位大侠给解释下这个原理,不胜感激。
你可以参考一下这个: 其实就是加一个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>
同样的问题已解决,灰常感谢