中文乱码解决方案

本文详细探讨了中文乱码的原因,包括服务端获取浏览器数据时的乱码和响应数据给前端时的乱码。提出了针对POST和GET请求的不同解决方案,强调了设置字符编码的重要性,如在Tomcat配置中指定URIEncoding为UTF-8,以及在服务端和客户端进行适当的编码和解码操作来避免乱码问题。
摘要由CSDN通过智能技术生成

关于中文乱码的问题,首先需要了解一下什么字符集编码
参考文献:字符集编码

服务端获取浏览器数据乱码:

①对于POST请求:只要在获取请求信息之前(在调用request.getParameter或者是request.getReader等),调用request.setCharacterEncoding(“UTF-8”)即可.
②.对于GET请求:(前面的方式对于GET无效)

  • 方案一:修改Tomcat的server.xml;在8080端口处加上URIEncoding=“UTF-8”
    在这里插入图片描述

  • 方案二:
    当应用服务器调用getParameter方法获得字符串时,getParameter方法会去向应用服务器请求参数。应用服务器最初获得的就是发送来的以浏览器编码格式编的码,即字节数组。应用服务器会对这个数据进行URLdecode解码操作(服务器通常使用ISO-8859字符集),再把解码后的字符串响应给getParameter。
    假如浏览器端使用UTF-8字符编码。编码的字节数组到了应用服务器,应用服务器再用ISO-8859进行解码,就会出现乱码。因此可以在服务端,把乱码的字符串。通过ISO-8859编码得到从浏览器到服务器传输过程中的字节数组(即浏览器给服务器发送的原始字节数组),再用UTF-8解码得到正确的字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值