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

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

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

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

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

原创图文,二维码红包,有人“中招了”....

原创图文,二维码红包,有人“中招了”....

点上方蓝色字关注,免费订阅更多精彩内容 最近微信群里面 出现很多 扫二维码领红包的图片 类似这种 这样的红包 应该大部分人 都不会理会的 但是貌似有些还真的 能领到红包 或许就是因为...

抖店登录怎么操作?一键触达美好生活~

抖店登录怎么操作?一键触达美好生活~

近期比较火的抖音小店,吸引了许多商家的注意力。越来越多的商家开始入驻抖音电商。那么抖店登录都需要经过哪些步骤呢? 输入"抖音小店商家入口",即会跳出抖店官网,其实这就是抖音小店商家入口。在抖音小店官网,商家们可以清楚的看到"立即入驻"字样,想要登录抖店的商家们,只需要点击...

2月70城房价公布:北京新房同比上涨4.7% 领跑一线城市

2月70城房价公布:北京新房同比上涨4.7% 领跑一线城市

乐居买房讯 编辑:盛安琪 3月16日,国家统计局发布了2023年2月份70个大中城市商品住宅销售价格变动情况。2月份,70个大中城市中,新建商品住宅销售价格同比上涨城市有14个,比上月减少1个。...

一路走好!表演艺术家秦怡去世,享年100岁,感情坎坷令人心疼

一路走好!表演艺术家秦怡去世,享年100岁,感情坎坷令人心疼

娱乐圈中的老戏骨一个接一个,离大家而去,听到这样的噩耗真的是非常令人心疼,却不敢相信。目前大家在曾江的与世长辞中还未清醒,如今又迎来了表演艺术家,秦怡去世的消息。 在今天凌晨4时08分,在华东医院病逝,享年100岁。希望秦怡能够一路走好,不受外界任何嘈杂声音的打扰,在观众...

文献翻译工具-知云文献翻译

文献翻译工具-知云文献翻译

本文在知云文献翻译的基础上又添加了PDF文档翻译工具和翻译狗。 一、福昕翻译 最近又get到一款更绝的翻译工具,特意回来分享给大家,可以一键翻译整篇文档,译文也是还原排版的。 这是个翻译网站,主要就是做文档翻译的,可以上传PDF、Word、Excel这些格式,翻译语...

【早盘快报】公有云投资增速不减,云计算设施改造加快,云计算ETF(516510)基金份额创新高

【早盘快报】公有云投资增速不减,云计算设施改造加快,云计算ETF(516510)基金份额创新高

云计算板块近日高位震荡,截至昨日(4月24日),中证云计算与大数据主题指数收报4720.07点,较高点回调7.6%,年初以来已累计上涨超49%。不过资金情绪仍高涨,借道ETF大举布局。...