Board logo

标题: 在batch 脚本中echo è 显示乱码? [打印本页]

作者: wingofsea     时间: 2008-9-17 15:34    标题: 在batch 脚本中echo è 显示乱码?

执行test.bat
@echo on
echo üè
Pause

执行结果为:
D:\>testa.bat

D:\>echo ⁿΦ
ⁿΦ

D:\>Pause
Press any key to continue . . .

上面结果显示ms命令行在读取这个batch脚本的时候已经出现了乱码问题,有什么解决方案么?
作者: wingofsea     时间: 2008-9-17 15:39
这两个字符都属于扩展ASCII字符
http://office.microsoft.com/zh-cn/help/HA011331362052.aspx
作者: HAT     时间: 2008-9-17 16:02

@echo off
chcp 1252
echo üè
pause
chcp 936
echo üè
Pause

作者: wingofsea     时间: 2008-9-17 16:21
谢谢HAT, it works!!!
能否动态的去设置当前的code page呢?比如检测到当前的locale是法文,则设置codepage为1252,而是简体中文则为936?
作者: knoppix7     时间: 2008-9-17 18:25
直接chcp.
然后用FOR读取 IF判断