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

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

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

解决中文乱码问题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()之前进行。

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

再见,IE浏览器

再见,IE浏览器

5月16日的时候,微软Edge浏览器官方发布了一个微博,宣布了IE浏览器将于6月16日正式退役。 当时这个消息也是冲上了微博热搜,无数网友纷纷表示爷青结啊…… 说实在的,看到这个消息其实还挺感慨的,毕竟IE浏览器也曾经历过一个黄金时代。 当时也是咱们上网必...

2月份一线城市房价环比上涨,但70城市中涨幅最高的是这个西部城市

2月份一线城市房价环比上涨,但70城市中涨幅最高的是这个西部城市

来源:上海证券报 原标题:2月份一线城市房价环比上涨,但70城市中涨幅最高的是这个西部城市 国家统计局今早公布了2月份商品住宅销售价格变动情况。 数据显示,2月份70个大中城市中,新建商品住宅和二手住宅销售价格环比上涨城市分别有27个和10个,西安的涨幅最大,环比上...

青海省首份“云签发”出口检验检疫证书成功开出

青海省首份“云签发”出口检验检疫证书成功开出

图为海关工作人员开展工作。 西宁海关 供图 中新网西宁4月26日电 (记者 张添福)西宁海关26日消息,西宁海关所属格尔木海关通过“海关属地查检业...

哈尔滨这条路上马葫芦“张嘴”6天!是学生必经之路……

哈尔滨这条路上马葫芦“张嘴”6天!是学生必经之路……

哈尔滨市民反映和祥路人行道上 学生必经之路 马葫芦“张嘴”6天 香坊区城管局:责任单位已备好物料 今日维修 日前,有市民拨打举报电话反映,哈尔滨市香坊区和祥路风华中学前的人行道上,有一个马葫芦盖破损,6天过去了依旧“张嘴”。对此,生活报记者进行了走访。...

京雄高速(北京段)将成车路协同智慧高速

京雄高速(北京段)将成车路协同智慧高速

转自:企业观察网 中国移动北京公司近日宣布,京雄高速(北京段)已全线覆盖移动5G专网;北京移动与中国中铁集团及相关研究院合作研发的“车路协同系统”也正在加紧安装调试,将于年中开通全线应用。目前京雄高速(北京段)的最内侧车道已具备条件,被预留为“智能网联车专用车道”,未来将支持全路段...

苏州绕城公司应急救援团队喜获“第一届全国高速公路优秀救援团队”称号

苏州绕城公司应急救援团队喜获“第一届全国高速公路优秀救援团队”称号

来源:江苏经济报 4月20日,第三届全国高速公路车辆救援管理与服务年会召开。苏州交投集团所属绕城公司“双中心”应急救援团队喜获表彰,被评为“第一届全国高速公路优秀救援团队”。苏州绕城公司党委书记、董事长叱干春旺出席并领奖。...