乱码是什么?我们先来看它的定义。


You
You 2024-01-02 23:58:27 65105
分类专栏: 资讯

乱码是什么?我们先来看它的定义。维基百科对乱码的定义是:电脑系统不能显示正确的字符,而显示其他无意义的字符或空白。这个定义包含了两层含义,第一是文本本身采用的编码规则,第二是要显示文本的工具采用的编码规则,当这两种规则不一致(或者不兼容)的时候乱码就产生了。现在我们清晰的知道计算机内部存储文本的机制,现实中经常碰到的乱码问题就可以顺藤摸瓜解决了。比如:

  • 浏览器把GBK编码的源文件当成是BIG5编码来显示;
  • 数据库把UTF-8编码的中午数据当成ISO-8859-1(Latin-1)来存储;
  • 代码IDE把gbk源码当成UTF-8编码打开;
  • 内存数据流把GB2312编码的输入文本当成GBK编码来读取;
  • WEB服务器(tomcat)设置的编码跟URL传输的编码不一致;

 

这些本质上都是编码规则冲突才造成的乱码。那么我们自由细心检查数据流程的每一个环节的编码规则是否一致,就能避免乱码的产生。比如我们熟悉的web请求流程,从url发起一个http请求,经过如下环节:

  • HTML编码:meta标签里面的charset设置编码;
  • 浏览器编码:设置浏览器渲染HTML文本的编码格式;
  • 网关代理:接收http请求的代理,转发数据过程对数据的压缩,如nginx;
  • WEB容器:响应http请求的容器,接收请求参数如tomcat配置server.xml;
  • WEB应用:通常以web.xml为入口,上下文编码设置;
  • IDE编辑器:源码编码格式,控制台输出文本格式;
  • 数据库:分为服务端,客户端,连接器,数据库等模块的字符集,需要统一

这些过程都必须保证编码规则一致,通常采用UTF-8来规范,至此我们对文本编码已经有了立体的认知了,具体问题以此为指导思想,相信都可以迎刃而解。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=34577
赞同 0
评论 0 条
YouL0
粉丝 0 发表 582 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1448
银河麒麟打印带有图像的文档时出错  1365
银河麒麟添加打印机时,出现“server-error-internal-error”  1151
统信桌面专业版【如何查询系统安装时间】  1073
统信操作系统各版本介绍  1070
统信桌面专业版【全盘安装UOS系统】介绍  1028
麒麟系统也能完整体验微信啦!  984
统信【启动盘制作工具】使用介绍  627
统信桌面专业版【一个U盘做多个系统启动盘】的方法  575
信刻全自动档案蓝光光盘检测一体机  484
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!