字体、语言包和显示乱码问题 装了纯净英文XP系统,启动程序,所有中文全是方框,网页上市乱码。于是,我把宋体-新宋体 字体文件安装了,再启动程序,网页已经正常显示,部分文字也正常显示,但还有很多仍然是方框。然后,安装了语言包,启动程序,显示文字就正常了。有高人能够解释一下,为什么非得安装中文语言包,只有字体文件为什么不行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 英文系统默认安装的时候,是不安装东亚语言的,也就是现在你的系统里没有codepage 936。你打开 control panel,打开 date,time,laguage,and regional option,再打开regional and language options,切换到laguages页面把下面的 insatall files for Asian languages勾打上,会提示你放入安装光盘。安装下就行了。也可以在安装的时候就把这里选上,就不会出现你说的问题。 哦,看错。还以为你没到最后也没安装语言包。不过你的问题我也可以回答下。搜索:unicode、ansi、codepage,慢慢看然后你就知道为什么了,要说清楚要打好多字啊。 unicode、ansi这些我都看过,codepage就是指不同语言的字符集吧,问题还是没有解决。 我装的系统没有安装东亚语言包,应该没有相应的codepage吧,所以任何中文都无法显示,但是当我将宋体 文件安装之后,部分中文能够显示了,这是什么情况,为什么只有一些能够正常显示? 经过测试研究,发现英文系统下本来是有936的代码页的,也就是说字符集并不存在问题。程序使用的字体是Arial,AnsiChar,系统没有安装语言包,程序中显示方框。可能的原因有以下两种:1.无法动态识别这是中文,故不能切换到936进行解码,使用英文系统下的1252解码不出,故显示方框。2.识别出是中文,切换到936代码页,能够解码,但是系统没有为936代码页注册默认的字体,故仍然没法显示。个人认为第二种情况比较可能。另外测试了一下,notepad.exe,Ansi保存的中文,在英文下变成乱码(不是方框),并且这与语言包无关,这个是因为对应字符集不对,解码错误。如果有语言包,并保存为Unicode就没有问题,没有语言包显示方框,这个就应该与前面分析的两个原因类似,映射到936,没有默认的字体。或者是Unicode中文部分字符没有默认的字体显示。以上是个人分析,不知道对不对,还请大家指教。 关于线程同步的问题,急!! 请教高手们一个问题,十分感谢! 调用存储过程时出现的问题 求助! 如何截取IE发送请求的消息 ★★有关字符数组,PChar和TIdUDPServer的问题★★ 如何能读入文本,然后一次取出一行进行操作? 从一个表的部分字段加上今天的日期插入到另一个表的一些字段,该SQL语句怎样写 双击一控件,怎样能获取该控件的名称!如双击DBEdit1,怎样把它的名字赋值给一变量! 网络断开后,又接上去后就不能访问数据库,是什么原因? 关于SQLNCLI10.1和SQLOLEDB.1,郁闷 存储过程,动态创建TADOStoredProc,偶尔提示需要参数@o_ID,但未提供该参数
你打开 control panel,打开 date,time,laguage,and regional option,再打开regional and language options,切换到laguages页面把下面的 insatall files for Asian languages勾打上,会提示你放入安装光盘。安装下就行了。也可以在安装的时候就把这里选上,就不会出现你说的问题。
搜索:unicode、ansi、codepage,慢慢看然后你就知道为什么了,要说清楚要打好多字啊。
unicode、ansi这些我都看过,codepage就是指不同语言的字符集吧,问题还是没有解决。
我装的系统没有安装东亚语言包,应该没有相应的codepage吧,所以任何中文都无法显示,但是当我将宋体 文件安装之后,部分中文能够显示了,这是什么情况,为什么只有一些能够正常显示?
程序使用的字体是Arial,AnsiChar,系统没有安装语言包,程序中显示方框。可能的原因有以下两种:
1.无法动态识别这是中文,故不能切换到936进行解码,使用英文系统下的1252解码不出,故显示方框。
2.识别出是中文,切换到936代码页,能够解码,但是系统没有为936代码页注册默认的字体,故仍然没法显示。
个人认为第二种情况比较可能。
另外测试了一下,notepad.exe,Ansi保存的中文,在英文下变成乱码(不是方框),并且这与语言包无关,这个是因为对应字符集不对,解码错误。如果有语言包,并保存为Unicode就没有问题,没有语言包显示方框,这个就应该与前面分析的两个原因类似,映射到936,没有默认的字体。或者是Unicode中文部分字符没有默认的字体显示。
以上是个人分析,不知道对不对,还请大家指教。