gengzi1999
路人甲
路人甲
  • 注册日期2003-09-10
  • 发帖数238
  • QQ
  • 铜币956枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2131回复:2

解决AutoCAD在打开地形图图形文件时汉字乱码的问题!!!

楼主#
更多 发布于:2003-11-05 13:46
解决AutoCAD在打开地形图图形

文件时汉字乱码的问题

 

王传江

1 问题的提出

    AutoCAD是目前在测绘、建筑设计等部门应用较广泛的一种图形处理软件。随着AutoCAD Rl4版本(以下简称R14)的推出,其在功能和执行效率方面都较以前版本有很大的提高,但在用R14打开以前版本的图形文件时,如AutoCAD Rl2版本(以下简称R12)的图形文件,有时会出现汉字乱码的问题,即虽然已经把正确的汉字字体文件放在了字体寻找路径下,汉字却不能正确显示。出现这个问题的原因是由于图形文件中图形代码页变量(DWGCODEPAGE)所引起的。
2 出现乱码的原因

    AutoCAD支持Unicode字符编码标准。Unicode字符编码是为了解决计算机中统一表示各国文字的问题而出现的,它以不同的代码页来区分不同国家的文字在计算机中表示。当AutoCAD Rl4(以下简称R14)打开具有不同代码页的系统下生成的图形文件时,汉字就会变成混乱的、不可读的字符。

    通常在以下情况可能会出现汉字乱码:

    在具有中文之星或双桥汉字环境下的西文Win95中的AutoCAD R13/R12上绘制的图形,而在中文Win95/98中的R14打开处理;AutoCAD Rl3/R12 For DOS下所做的图形文件在AutoCAD R14或R13 For Win95/98中打开,对上述情况,要使汉字正确显示,就必须改变这些图形文件的代码页变量(DWGCODEPAGE)的值。
3 不同格式的图形文件相互转换后代码页变量值的变化情况

    下面以R12与R14这两个版本为例,来分析不同格式的图形文件相互转换时的代码页变量值的变化情况。

    对一个R14下打开出现汉字乱码的R12图形文件:

    1、在R12下打开该图形文件:汉字能正确显示,此时其代码页变量(DWGC0DEPAGE)的值为dos-50(当然对其他的R14下打开出现汉字乱码的R12图形文件,其代码页变量值可能为其他值);在R14下打开该图形文件:汉字出现乱码,此时其代码页变量值为ANSI-936(只读);在R14下将该图形文件另存为R12格式后,再由R12打开之:汉字出现乱码,DWGCODEPAGE=“Dummy”。此时无论将代码页变量值改为Ascii 或undefined,再由R14或R12打开该图形文件,汉字均不能正确显示。

    2、当用R14打开以前版本(如R12)的图形文件汉字出现乱码时,此时在R14下不要对此图形文件作任何操作,直接回到R12下,在R12下打开该图形文件,这时汉字正确显示,其代码页变量(DWGCODEPAGE)值为除Ascii 或undefined以外的其它值,这时只要将其代码页变量值改为undefined 或 Ascii,然后保存该图形文件,再在R14下打开之,汉字能正确显示,此时DWGCODEPAGE=“ANSI-936”(只读),再将该图形文件由R14另存为R12格式,在R12下打开之,汉字能正确显示,DWG CODEPAGE=“Dummy”,可以将此代码页变量改为Ascii 或undefined,但反向设置不可以,即代码页变量值不可由Ascii 或undefined改为其它的值。

    对一个R14打开汉字正确显示的R12图形文件:

   (1)在R12下打开该图形文件:汉字正确显示,其代码页变量值为undefined 或Ascii 。

   (2)直接由R14打开该图形文件,汉字正确显示,代码页变量值为ANSI-936(只读)。

在R14下将该图形文件另存为R12格式,再在R12打开之,其图形代码页变量值为Dummy,汉字正确显示,可以将Dummy改为undefined 或Ascii,保存该图形文件后再由R14或R12打开之,汉字均正确显示。
4 结论与解决汉字乱码的方法

    通过上述各种情况的比较与分析,有以下结论:

    1、在R12下打开的图形文件不乱码,但其图形代码页变量(DWGCODEPAGE )值为非undefined 、Ascii 或Dummy的其它值,如dos-850 或iso8859-1等,则在R14下打开该图形文件,汉字不能正确显示,出现乱码情况,此时其图形代码页变量值为ANSI-936(只读)。在R14下将该图形文件另存为R12格式后,再由R12打开之,汉字出现乱码,代码页变量值为Dummy,这种情况下无论再对代码页变量值作任何修改,在R12或R14下打开这个文件,汉字均乱码,因此当由R14打开图形文件出现乱码时,这时在R14下不要对这个图形文件作任何修改操作,不存盘退出R14。

    2、在R12下打开的图形文件不乱码,其图形代码页变量值为undefined、Ascii 或Dummy,则在R14下打开之,汉字不会出现乱码,代码页变量为ANSI-936(只读)。

    因此,针对R14下打开以前版本的图形文件出现汉字乱码的处理,是在R14下未对这个图形文件作任何操作前,用R14以前版本(如R12)将该图形文件代码页变量值改为undefined或 Ascii,以下的方法可以参考:

    A. 在R12下由NEW命令新建一个图形文件,再用INSERT命令插入R14下打开出现汉字乱码的图形文件,然后存盘,这样处理后,再由R14打开该图形文件,汉字显示正确,无汉字乱码的情况出现,这样就解决了该图形文件的汉字乱码的问题。

    B. 在R12下打开相应的图形文件,直接修改其图形代码页变量的值为undefined或 Ascii,存盘后,再在R14下打开该图形文件,则无乱码情况。
5 实例处理情况

    现有一个R12格式的图形文件,在R14下打开时,汉字出现乱码,如图1所示;在R14下不对该图形文件作任何操作,返回到R12下,对其代码页变量值进行修改并存盘,再由R14打开该图形文件,汉字正确显示,无汉字乱码出现,如图2所示。

 
喜欢0 评分0
我是农民,我怕谁!
gisboy
卧底
卧底
  • 注册日期2003-07-26
  • 发帖数162
  • QQ
  • 铜币900枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2003-11-05 17:55
2000下没有这问题吧。
Our doing are not really as important as we think. Our successes and failures didn't matter after all.
举报 回复(0) 喜欢(0)     评分
gengzi1999
路人甲
路人甲
  • 注册日期2003-09-10
  • 发帖数238
  • QQ
  • 铜币956枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2003-11-19 13:04
同样的原因主要是字体库没有找到,所以最简单的办法就是在打开图形的提示过程中找到相应的字体文件!
我是农民,我怕谁!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部