zoukankan      html  css  js  c++  java
  • HttpServletRequest字符集问题

    post中文处理

    1post在spring里的设置web.xml文件

    <!-- 字符处理  UTF8 -->
    	<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>/*</url-pattern>
    		<dispatcher>REQUEST</dispatcher>
    		<dispatcher>FORWARD</dispatcher>
    	</filter-mapping>
    

    2设置HttpServletRequest.setCharacterEncoding("utf-8")

    3设置tomcat里的字符集

    get中文处理

    1设置tomcat

    2自己解码new String(username.getBytes("ISO-8859-1"),"UTF-8");

    tomcat字符集

    1tomcat8之前默认是ISO8859-1,tomcat8及其以后,是UTF-8;

    2设置tomcat下的conf/server.xml文件的URIEncoding="UTF-8" ;

    找到如下代码:    
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    修改后:

    <Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

    为什么默认的编码是iso-8859-1/UTF-8,下面这篇博客讲解了探索过程,但是tomcat8依旧是这几个包,他的编码为什么变为UTF-8?

    https://blog.csdn.net/gschen_cn/article/details/26155875

  • 相关阅读:
    python:利用asyncio进行快速抓取
    os.path.exists(path) 和 os.path.lexists(path) 的区别
    isdigit()判断是不是数字
    switf资源
    51cto培训课程
    51cto运维培训课程
    Python: 在Unicode和普通字符串之间转换
    VC++ CopyFile函数使用方法
    Eclipse断点调试
    AFNetworking2.0后 进行Post请求
  • 原文地址:https://www.cnblogs.com/SmilingEye/p/10395814.html
Copyright © 2011-2022 走看看