zoukankan      html  css  js  c++  java
  • High ASCII字符从bat文件到dos控制台的转化问题

    背景是这样的,由于项目需要,需要用silent install的方式安装一些程序,而安装参数中有一些High ASCII字符,如ùé。通过代码,使用默认编码(ANSI,说明下,我用的是法语的系统)创建bat文件,并将这种字符写入文件,是没有问题的。然而在执行bat文件的时候却发现,High ASCII字符在控制台中显示成了其他的字符!!!自己想了半天没想明白怎么回事,因为控制台编码也是用的默认的latin-1,文件保存也是用的默认的编码(在FR的系统上,ANSI就是latin-1吧,我是这么认为的).

    于是搜索啊,这种东西,国内的资料比较少啊。。。不过功夫不负有心人,找到了一个国外的论坛的帖子,地址送上http://stackoverflow.com/questions/9849486/is-it-possible-to-use-extened-ascii-characters-in-bat-file

    解决方法:

    1. 使用utf-8来存文件,第一行是一个空行,第二行写上 CHCP 65001

    2. 将控制台的codepage设置成65001(utf-8的codepage),

    3. 将控制台字体设置成Lucida Console,这个在法语/德语系统上默认是raster font

    这样就可以了。

    顺便提一下,控制该默认值的注册表路径是 HKEY_CURRENT_USERConsole\%SystemRoot%_system32_cmd.exe

    可以从通过UI将控制台字体设置成Lucida Console, 然后将上面的注册表导出,以后要改的话直接通过 "regedit /s 备份的注册表名" 即可以用脚本设置字体了,也可以通过脚本将注册表HKEY_CURRENT_USERConsole\%SystemRoot%_system32_cmd.exe下的每一个键值设置成目标的Lucida的键值对.

  • 相关阅读:
    Prim算法的3个版本
    [转]"undefined reference to" 问题解决方法
    C/C++ 读写 Excel
    Poj 3468
    关于PS中矩形工具的学习
    PS初学习
    java第二天学习。
    Java学习第一天
    二叉树的线索化
    struct files_struct
  • 原文地址:https://www.cnblogs.com/byron0918/p/4661650.html
Copyright © 2011-2022 走看看