为什么电脑的有些软件程序会出现乱码现象

2024-11-18 06:28:39
推荐回答(5个)
回答1:

汉字乱码现象有4种类型:
1.文本乱码:是Windows系统显示乱码,如:菜单、桌面、提示框等。这是由于注册表中有关字体部分的设置不当引起的;
2.文档乱码:是各种应用程序、游戏本来显示中文的地方出现乱码。这种乱码形成的原因比较复杂,有第1类的乱码原因,也可能是软件中用到的中文动态链接库被英文动态链接库覆盖所造成的;
3.文件乱码:主要是指邮件乱码;
4.网页乱码:是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用而造成的。

消除各类乱码的方法

一 系统乱码的消除方法

这类乱码是由于在Windows注册表中,关于字体部分配置不正常造成的,即使你用内码翻译软件处理也不会消除这类乱码。那怎么办呢?请跟我来:

方法一:找一台与你的Windows版本相同且显示正常的机器,依下列步骤进行:

1.在正常机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器;

2.请你将光标定位到“HKEY_LOCAL_MACHINE\ system\CurrentControlSet\Control\
Fontassoc”,然后选择“注册表”→“导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如ZT.REG)中;

3.把ZT.REG文件拷贝到你那显示乱码的机器上,方法是:在显示乱码的机器上运行“regedit”,打开注册表编辑器,选择“注册表”→“导入注册注册表”,把ZT.REG文件导入注册表中即可。

方法二:如果你找不到一台与你的Windows版本相同且显示正常的机器,则需要手工恢复字体部分的注册表
项,其步骤是:

1.首先在显示乱码的机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器;

2.选择“HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Control\Fontassoc”,正常情况下,会有Associated DeaultFonts、Associated
CharSet两个文件夹,其正确的内容应是:

子目录内容
中文Win98
中文Win98(OEM版)
中文Win2000

Associated CharSet
ANSI(00)=“yes”
GB2312(86)=“yes”
DEN(FF)=“yes”

SYMBOL(02)=“no”
ANSI(00)=“yes”
GB2312(86)=“yes”
OEM(FF)=“yes”

SYMBOL(02)=“no”
ANSI(00)=“yes”
OEM(FF)=“yes”
SYMBOL(02)=“no”

Associated DefaultFonts
AssocSystemFont=“simsun.ttf”

FontPackageDecorative=“宋体”
FontPackageDontcare=“宋体”

FontPackageModern=“宋体”
FontPackageRoman=“宋体”
FontPackageScript=“宋体”

FontPackageSwiss=“宋体”

AssocSystemFont=“simsun.ttf”

FontPackage=“新宋体”
FontPackageDecorative=“新宋体”

FontPackageDontcare=“新宋体”
FontPackageModern=“新宋体”

FontPackageRoman=“新宋体”
FontPackageScript=“新宋体”

FontPackageSwiss=“新宋体”

3.当出现汉字乱码时,上述两个文件夹中的内容就会不完整,有的没有Associated CharSet文件夹或其中的内容残缺不全;有的
Associated DefaulFonts下的内容残缺。如果遇到这种情况怎么办呢?其实你只要打开注册表编辑器,在
“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Fonassoc”下,根据以上的正确内容恢复即可。

二 应用程序、游戏乱码的消除方法

明明是中文软件,可显示界面上却出现乱码,这可能是由于注册表中关于字体设置的信息不正确地被改变而造成的,一般是因为软件的中文链接库被英文链接库覆盖而引起的,这种现象经常发生在用微软开发工具,例如VB、VC开发的中文软件上。在这类软件中,菜单等显示界面上的汉字都是受一个动态链接库“.DLL文件”控制,而软件的这个动态链接库一般是安装在Win
98/2000的System目录下的,如果以后你安装了某个英文软件也使用同名的动态链接库,则英文软件的动态链接库就会覆盖掉你原先的Windows\System下的中文软件的动态链接库。这样,当你运行中文软件时就会调用英文的动态链接库

回答2:

是因为这些软件的文字编码,和系统所用的文字编码发生了冲突,所以系统不能正确地显示。
开始 - 控制面板 - 区域和语言 - 管理 - 非Unicode程序语言,点“更改系统区域设置”,然后选择“中文(简体,中国)”,确认。
在打开这些程序的时候,就没有这个问题了。

以下是相关解决办法:

可能是由于误操作,注册表里没有字体关联了……。
到其他机子上把系统原来的字体拷贝一份,再放到那个font文件夹里,覆盖安装就行。开机很这正常,过一段时间之后突然系统的文件夹的文字全部变成小方框,用智能ABC打字,输入拼音后回车,方框里显示的字是“II”,控制面板里只有图标,下面的字也都变方框了,然后电脑反应奇慢无比,点重启和关机都没有响应,有的地方的汉字就是方框或者竖条,英文却没问题。
这对几个问题做相应的解决:

1、美化主题的问题

很多人使用了系统美化主题包,在你删除的时候,或者中马被删除等情况,字体也被删除了,比如宋体方面的字体,或者说是你主题的字体等等,不要下微软雅黑字体之类的字体,这没用的,因为系统用的基本是宋体、楷体、新宋之类的字体,如果美化主题桌面需要的字体在系统里面没有,就会出现所有的字体都变成方框的现象,桌面空白处点右键——属性——更改下美化主题看看会不会还出现这种情况。
不行就把E:\WINDOWS\Resources\Themes下的文件用你在别的机子上拷贝的相同文件替换一下,然后把主题换成WINDOWS经典主题后,然后再换成WINDOWS XP的主题试一下,替换文件最好在安全模式下替换。

2、区域语言设定问题

控制面板——区域和语言选项——选项和高级两处都要是中国。

3、系统内部编码问题

在浏览网页过程中不小心点了编码选项,误操作,或者其他不可预知的情况,由于编码错误也会出现字体都变成方框的现象,打开一个网页,找空白处鼠标右键——编码——选“简体中文”。

4、字体库被破坏问题

同样,很多不可预知的问题导致把系统自带的字体库给破坏了,如果字体库被破坏,系统显示所需要的文字不存在,当然会出现字体都变成方框的现象,可以从网上下载一个将原来的覆盖了,或者将别人电脑中的字体库备份一下,然后安装到自己的电脑中试一试,x:\windows\fonts目录下所有文件全部copy到你机器上。

或者 点击 控制面板=>字体=>字体设置(窗口左上角)=>还原默认。

回答3:

给各位老粉分享科普,电脑知识,装机必备,各种电脑问题解决大全,下面讲的是,电脑系统乱码,游戏和软件都出现乱码,不用烦恼教你轻松搞定,感觉兴趣的朋友可以试下

回答4:

百度经验:《电脑维护:[47]修复乱码》http://jingyan.baidu.com/article/d8072ac45e0363ec94cefd66.html

http://zhidao.baidu.com/question/2074356381020253988.html

回答5:

以下 通过注册表修复字体错误 的方法内容取自@Mr罒灬包子,我只是完善了下形式,让它看的更方便。
Win+R,输入“RegEdit”打开注册表,路径栏中输入“计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc”(或手动查找)。FontAssoc文件夹下有2个文件夹:Associated CharSet和Associated DefaultFonts,分别按以下内容完善里面内容:
Associated CharSet:
ANSI(00)=“YES”
OEM(FF)=“YES”
SYMBOL(02)=“NO”
GB2312(86)=“YES”
DEN(FF)=“YES”
Associated DefaultFonts:
AssocSystemFont=“simsun.ttf”
FontPackageDecorative=“宋体”
FontPackageDontcare=“宋体”
FontPackageModern=“宋体”
FontPackageRoman=“宋体”
FontPackageScript=“宋体”
FontPackageSwiss=“宋体”

AssocSystemFont=“simsun.ttf”
FontPackage=“新宋体”
FontPackageDecorative=“新宋体”
FontPackageDontcare=“新宋体”
FontPackageModern=“新宋体”
FontPackageRoman=“新宋体”
FontPackageScript=“新宋体”
FontPackageSwiss=“新宋体”
注:详细@Mr罒灬包子 的回答