大家好!!
我算是新来的了。
在写批处理的时候,我遇到一个问题
就是希望在大陆、港台、欧美和日本能分别用本地的文字显示。
我目前是这样做的:
首先通过call如下bat得到codepage:
- :getcp
-
- set %1=0
-
- FOR /F "tokens=*" %%A IN ('CHCP') DO FOR %%B IN (%%A) DO SET %1=%%B
-
- if "%1" =="" pause
-
- goto :eof
复制代码
然后根据copage分别call如下几个文件:
- lan0.bat
- lan936.bat
- lan950.bat
- lan932.bat
复制代码
上述几个bat内部都是对字符串赋值的。
这样,在主bat中就可以根据地区的不同,正确地显示出文字。
我之前是想用一个文件完成的。
但发现一个问题,就是乱码问题。
如果在简体中文的系统中编辑那个bat,虽然在编辑器中看到的都不是乱码,但事实上是因为GBK都包含了那些字符。
当这样的BAT实际运行在大陆以外的地区时,都会出现乱码,甚至是整个BAT解析失败。
反之,如果要在一个BAT中为了最终不出现乱码,那么编辑时就不能使用GBK。
这样,也会遇到在任何系统都解析失败……
我想过用Unicode保存BAT,但好像保存后,@echo off就解析失败。
所以就不知道该怎么办了?
特来求助。
希望能得到帮助
谢谢!! |