当前位置:首页 > 杂谈 > 正文内容

解决中文乱码问题-中文乱码出现的原因

2023-10-10 14:08:47TONY杂谈63

解决中文乱码问题1. 字符集

1) 字符(Character)是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合。

2) 任何数据在计算机内部实际上都是以二进制的形式保存的,所以我们看得见的字符本质上都是以二进制的形式保存的。而字符集实际上就是看得见的字符和二进制数之间的一张对应表。

2. 编码与解码

1) 编码:将字符转换为二进制数

中 → E4B8AD → 1110 0100-1011 1000-1010 1101

2) 解码:将二进制数转换为字符

1110 0100-1011 1000-1010 1101 → E4B8AD → 中

3) 乱码:编码与解码使用的字符集不一致就会产生乱码。

如下图:使用 UTF-8 编码,使用GBK 解码

所以,解决乱码问题的根本方法就是统一编码和解码的字符集

3. 在Web应用中统一字符集

1) 请求参数中含有中文

· 请求由浏览器发送给服务器

· 由浏览器编码

· 浏览器使用HTML页面指定的字符集编码,只需要将HTML页面的字符集指定为UTF-8即可

· 由服务器解码

· 默认字符集是IOS-8859-1

· 解决方案

· 对于POST请求

:post请求在Servlet中解码,默认的字符集是ISO-8859-1,不支持中文,所以我们需要修改Servlet的字符集为UTF-8。使用

request.setCharacterEncoding("UTF-8");设置request对象使用UTF-8字符集对 请求体中的内容进行解码。但需要注意的是,这个操作一定要在调用getParameter()方法之前进行。

· 对于GET请求:GET请求是在URL地址栏中传递请求参数的,它会被Tomcat服务器自动解码,而Tomcat服务器默认的字符集也是ISO-8859-1,

所以我们需要修改Tomcat服务器的字符集为UTF-8。由于请求参数是包含在请求行内的,无法通过request对象进行设置,所以需要在Server.xml文件中修改Connector标签,添加URIEncoding="utf-8"属性。

在eclipse中的Tomcat镜像中修改即可生效。但如果将来删除当前Tomcat镜像,重新关联Tomcat,则会使设置失效,所以在Tomcat配置文件中最好也进行配置。

2) 服务器响应中含有中文

· 响应由服务器发送给浏览器

· 由服务器编码

· 默认使用ISO-8859-1进行编码

· 由浏览器解码

· 默认使用GBK进行解码

· 解决方案

· 方法1:设置响应头

response.setHeader("Content-Type","text/html;charset=utf-8");

· 方法2:设置响应的内容类型

response.setContentType("text/html;charset=utf-8");

· 通过这种方式可以在响应头中告诉浏览器响应体的编码方式是UTF-8;同时服务器也会采用该字符集进行编码

但需要注意的是,两种方法一定要在response.getWriter()之前进行。

“解决中文乱码问题-中文乱码出现的原因” 的相关文章

虎皮兰冬季的养殖方法和注意事项有哪些?

虎皮兰冬季的养殖方法和注意事项有哪些?

虎皮兰冬季的养殖方法: 温度控制:虎皮兰在冬季喜欢温暖的环境,建议室内保持在15-20℃左右,不要让它们暴露于寒冷空气中。 光照控制:虎皮兰在冬季需要足够的光照,...

快来,和你有关的快递电话在这里(市区)

快来,和你有关的快递电话在这里(市区)

临沂亲 收快递 寄快递是不是成为了你的日常 今天 圈妹带大家一起整理一下 临沂市区的那些快递点以及联系方式 [申通快递] 山东临沂申通快递(总址) 客服电话:95543 地址:罗七路与永盛路交汇西200米路北联系电话:查询电话...

看看常见App登录&注册方式

看看常见App登录&注册方式

刚好最近在设计新产品的登录和注册流程,包括App注册、H5注册,同时因为产品本身的定位,我们采取强制使用邀请码注册的方式。 知乎 所属类目:社交 产品定位:知识领域 登录:邮箱或手机号+密码;微博、微信第三方登录 注册:手机号+密码+姓名 可以发现登录有邮箱...

58同城、安居客“移动经纪人”升级适用多类智能手环,助经纪人高效服务

58同城、安居客“移动经纪人”升级适用多类智能手环,助经纪人高效服务

房产服务线上化转移加强了经纪人对于智能手机的依赖,然而在线下带看中,出现了无法及时查看手机导致错过来自线上的用户消息和微聊信息等,以及各类软件消息众多导致找房用户信息被淹没等各类影响用户体验的问题。...

平台购物不同入口价格不同【京东 拼多多 淘宝 抖音 美团 唯品会入口】

平台购物不同入口价格不同【京东 拼多多 淘宝 抖音 美团 唯品会入口】

原标题:平台购物不同入口价格不同【京东 拼多多 淘宝 抖音 美团 唯品会入口】 有朋友抱怨时,抱怨说老是在买东西,既浪费钱又气人!如果你有过网购经历,你一定知道拼多多购买东西,但你不一定知道京东 拼多多 淘宝 抖音 美团 唯品会 都有各种优惠入口。下面 从平台方面进行说明...

抖店后台操作实操攻略:让新手商家快速上手

抖店后台操作实操攻略:让新手商家快速上手

随着抖音的火爆,越来越多的商家开始进入抖店这个平台,为了让新手商家能够快速上手抖店各个模块并进行正确操作,我们特别整理了这篇实操攻略。接下来,我们将为您讲解如何操作抖店后台,区分抖店橱窗与企业蓝V号,以及如何...