您的位置:首页 > 运维架构 > Tomcat

ajax /get 请求,服务器端接收参数乱码

2017-01-13 16:27 447 查看
今日将工程部署到新的服务器,进行开发测试时,突然发现一个功能在之前的服务器测试没有问题,但是在新服务器测试却查询不到数据,于是进行debug断点测试,发现是由于后台接收到的前端页面传输的数据有乱码所致,而这个问题在原来的服务器是不存在的,于是开始从工程的编码格式找原因。由于工程框架是spring mvc +mybatis ,在web.xml配置文件中已经进行了编码格式的配置,如下:

  <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>

    <init-param>

      <param-name>forceEncoding</param-name>

      <param-value>true</param-value>

    </init-param>

  </filter>

  <filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>*.html</url-pattern>

    <url-pattern>*.jsp</url-pattern>

  </filter-mapping>

因为在新旧服务器上这个文件是没有变化的,所以这是没有问题的。于是就寻思是tomcat的配置所致,

查找到tomcat配置文件,并设置URL编码集(URIEncoding),如下:

在tomcat的server.xml配置文件中,找到

Connector 节点,并添加 URIEncoding="UTF-8" 即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息