中文文件名“变异”的原因及消除

Author: 湖北 汤永进 Date: 1996-05-03

        这是怎么一回事呢?请您不要委屈咱汉字系统编制者同胞,令人意想不到的是问题竟出在那西文DOS上。西文DOS对操作者输入的文件名有这么一个必经的处理步骤:各字符逐一过筛,凡小写者一律转换为大写。换就换呗,对于那半角的英文字母大写者ASCII码为41H~5AH、其小写者ASCII参与为61H~7AH,怎么换都跟汉字双字节编码所用的扩展ASCII码A1H~FEH(相当于区码或位码01~94)不相干呀。偏偏西文DOS不是专为大美英文化圈一家服务的,还要兼顾到德奥北欧等日尔曼圈、法意西葡等拉丁圈里的人文,它们的字母有不少是跟英文字母不一样的,故专为这些不一样的字母安排了ASCII码__坏啦!其中的四个小写字母ioun之ASCII码竟安排在了A1H~A4H,与部分汉字的码重叠了。这下就糟了,DOS对这四个小写特殊字母照转换不误(分别换成IOUN、其ASCII码也当然变了)。于是乎,凡区码或位码为01~04的汉字作文件名输入后即惨遭DOS变换而必将面目全非!
        怎么办?改!请您呼出那可爱的PCTOOLS,按F10,进入C盘根目录,选定MSDOS(或PCDOS)这个文件,按F、F1进入十六进制代码寻找功能,紧凑输入494F55A5(为IOUN的ASCII码)回车,当搜寻停止下来后按E进入编辑,在上述代码位置输入A1A2A3A4覆盖之,按F5存盘,按任意键再按G继续搜寻,再停下来就再按E进行如前修改。完毕须重新启动机器,进入汉字系统后再次启用PCTOOLS,全盘查看一遍以前输入的各中文文件名,遇有怪字符的即将其选定,按R重新输入怪字符处的正确中文予以改正之。再反复列目试看一下,再也没有以前那种问题了。
        以上的修改对您使用的软硬件系统不会造成任何副作用(有影响的只是那些非美英族的老外),唯一要注意的是在改过DOS的机子上输入的中文名文件拿到未改过的机子上进行DOS操作,有可能报以“文件找不到”之类的错误。