本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。 简介 种类 汉字乱码现象有4种类型:文本乱码:是Windows系统显示乱码,如:菜单、桌面、提示框等。这是由于注册表中有关字体部分的设置不当引起的;文档乱码:是可执行文件本来显示中文的地方出现乱码。这种乱码形成的原因比较复杂,有第1类的乱码原因,也可能是软件中用到的中文动态链接库被英文动态链接库覆盖所造成的;文件乱码:主要是指邮件乱码;网页乱码:是由于港澳的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用而造成的。修正乱码,可以使用系统内码转换工具,如“南极星”等,将系统内码转换为对应内码,字符即可正确显示。 原因 一般是软件程序解码错误。如浏览器把GBK码当成是Big5码显示,或电子邮件程序把对方传来的邮件错误解码。如果在发送时编码错误,收件者的电邮程序是不能解码的,需要寄件者的电邮程序重新编码再寄。字体档案(font file)不对。来源编码错误,或文件受到破坏。一种语言版本的操作系统安装了另外一种语言版本的应用程序,或者应用程序安装的升级补丁的语言版本与应用程序原来安装的语言版本不一致。早期单字节的应用程序在打开双字节语言的文件时不能正确识别文字的分割,在换行的地方把一个字从中分成两段,导致紧接在后面的整个一行全部都是乱码。低版本的应用程序不能识别高版本的程序创建的文件。由于TXD等修改文件出现内部冲突,一些修改游戏的MOD(modification)CLEO、IV补丁、真实补丁、技能补丁、升级补丁和CCI人物补丁等游戏修改软件的“Readme”“必看!”等阅读文件会出现乱码。电脑软件的错误操作也会导致整个文件出现乱码数据库原因数据正确,但数据库配置错误,使用了错误的字符集。一般是数据库移植,还原时DBA的错误造成的。一般是客户端使用了默认的字符集,比如在GBK的机器上开发,但换到Linux下面就出现读取的数据为乱码了。解决方法是:在连接参数里面明确指定数据传输用的字符集,而不是使用操作系统默认的。数据错误。一般是客户端发来的数据编码问题。比如页面发送数据是UTF-8,可是后台处理程序是GBK的,结果造成保存到数据库的数据为乱码。解决方法:所有字符集编码都采用统一的编码。比如全部用GBK的。 [1] 相关资料 避免乱码 1.尽量使用统一的编码,如果你是重头开发一个系统,特别是Java开