Service.xml 请求乱乱码问题 URIEncoding="GBK"

 

乱码情况:
q 提交表单数据包含中文,则乱码
q 响应至客户端包含中文,则乱码
q 解决方法 :
q 提交表单数据包含中文,则乱码
q Get 提交
Tomcat-conf-server.xml 设置 URIEncoding="GBK
解决get方式的提交:
修改tomcat目录下conf下service.xml,添加URIEncoding="GBK",如下
    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
      URIEncoding="GBK"
      />
q Post 提交
– 在获取数据前设置 request 编码 : request.setCharacterEncoding(“GBK”);
– 或对获取到的数据转编码 :new String (suser.getBytes(“ISO-8859- 1 ), GBK ); //:http 协议在网络中传输数据釆用的编码是 :ISO-8859-1.
p 响应至客户端包含中文,则乱码
设置响应结果字符集 ;
response.setCharacterEncoding(“GBK");
response.setContentType("text/html; charset=GBK");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
乱码问题是在数据传输过程中常见的问题,特别是在处理中文字符时容易遇到。在SpringMVC中,常见的解决乱码问题的方式有以下几种: 1. 在web.xml中设置编码过滤器 在web.xml中添加以下过滤器配置,可以将请求和响应的编码都设置为UTF-8: ```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>/*</url-pattern> </filter-mapping> ``` 2. 在SpringMVC配置文件中设置编码过滤器 在SpringMVC的配置文件中添加以下配置,可以将请求和响应的编码都设置为UTF-8: ```xml <bean id="characterEncodingFilter" class="org.springframework.web.filter.CharacterEncodingFilter"> <property name="encoding" value="UTF-8"/> <property name="forceEncoding" value="true"/> </bean> ``` 3. 在tomcat的server.xml配置中添加URIEncoding 在tomcat的server.xml配置文件中,将URIEncoding设为UTF-8,即可解决乱码问题: ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> ``` 以上三种方式都可以解决乱码问题,但是建议采用第一种方式,在web.xml中设置编码过滤器,因为这种方式比较通用,可以在任何Web框架中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值