JavaWeb中 post提交时的编码

在使用springMVC开发JavaWeb项目时,进行POST表单提交时,前台编码是utf-8,中文传到后台是乱码。使用的方案是

String name = request.getPatameter("name");String(name.getBytes("iso-8859-1"),"utf-8");

我在网上看了一些设置,包括设置tomcat的编码

<Connector URIEcoding="UTF-8" useBodyEncodingForURI="true"/>

但是也是不起作用啊。想问一下是什么问题,是设置的问题吗?

阅读 3.8k
6 个回答
<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

request的http header也需要设置为一致

检查web.xml的编码过滤器路径

tomcat 配置文件8080端口那里加utf-8编码,在eclipse中删除之前tomcat,重新建一个

post提交后台不用转什么码,配置下spring的编码过滤器为utf8就行了

我想知道原理,而不是只是配一个spring的filter

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题