背景是这样的,由于项目需要,需要用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_USER\Console\%SystemRoot%_system32_cmd.exe\

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

转载于:https://www.cnblogs.com/byron0918/p/4661650.html

High ASCII字符从bat文件到dos控制台的转化问题相关推荐

  1. c语言在dos下执行bat文件,应用dos批处理文件经常用到的DOS常用命令

    应用dos批处理文件经常用到的DOS常用命令 更新时间:2007年03月01日 00:00:00   作者: echo.@.call.pause.rem 是批处理文件最常用的几个命令,我们就从他们开始 ...

  2. C#【必备技能篇】使用批处理脚本(.bat文件)打开控制台应用程序

    背景: 有时,需要使用.bat文件来运行一个.exe程序(一般是控制台应用程序),可以点击bat文件运行C#写的控制台应用程序. 示例: [1]Test.exe程序 和 click.bat文件 放在一 ...

  3. C语言:ASCII字符文件与二进制字符文件的相互转换

    目录 实验要求 设计方法 producer.c consumer.c 实验要求 设计一个名为producer.c的程序,该程序读取文本文件(包含 ASCII字符的文件),并使用0和1将所有字符编码为二 ...

  4. 查找代码文件中的非 ASCII 字符

    在 Visual Studio 中编译代码,报如下错误: warning C4819: The file contains a character that cannot be represented ...

  5. 1.什么是bat文件

    bat文件是dos下的批处理文件.批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd. 在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用c ...

  6. 使用bat文件做定时任务

    最近想试验下使用windows的定时任务做个定时处理,以备份mysql开发环境的数据为例做了下探索.如下: 1.linux中有.sh文件做为脚本使用,同样,windows下有bat文件(dos下的批处 ...

  7. 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat

    注册表的用途与设置 注册表是windows的核心,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了解.注册表里面所有的 ...

  8. java bat 运行 jar文件_运行bat文件启动java的jar且不弹出DOS窗口,后台运行java的jar包...

    本文主要是将java的jar包启动的cmd命令添加到bat文件来执行,且不弹出DOS窗口,也就是后台运行java的jar包. 这里以win10为例 1.新建 一个txt文件,在文件添加以下内容.其中E ...

  9. bat文件运行java的jar包不弹出dos窗口,开机自启jar包

    后台运行不弹dos窗口 %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALS ...

最新文章

  1. Opencv 数学基础--范数(17)
  2. web前端开发怎么学,web教程资源
  3. java中的volatile和synchronized
  4. 百度云推送的简单集成
  5. max std value 宏_Rust Macro/宏 新手指南
  6. oracle查询一张表的主键,Oracle查询表主键、外键
  7. php 得到下周一和下周日
  8. 精功科技押宝互联网服务业 盘古数据承诺未来业绩大逆转
  9. Log Explorer 恢复误删除、更新数据
  10. 正则表达式 10. 分组可选
  11. 99se.PCB技术大全
  12. win10浏览器闪退_win10自带浏览器闪退解决方法
  13. 计算机主机外接电源,电脑DIY必修课,电源接口详解
  14. JESD204B时钟网络
  15. Unity关于Layer的管理
  16. 移动硬盘无法访问设备未就绪资料找到的法子
  17. 中国移动光猫 GM220-S 改桥接简易教程(安徽移动)
  18. 详解win10开机启动慢是什么原因怎么解决
  19. 4月海外域名主机商TOP10:HostGator第4 雅虎第7
  20. MBA-day18 消元法

热门文章

  1. vue 高德地图搜索功能_VUE中使用高德地图做轨迹添加功能,帮助轨迹展示
  2. plc tcp ip通讯怎么只能连一个客户端_一款Ethernet/IP和Modbus TCP转OPC UA产品
  3. hive分桶表join_Hive:JOIN及JOIN优化 2015.10.25
  4. java quartz 教程_Quartz视频教程
  5. 为了在简历上写掌握【Java集合】,做了万字总结
  6. 调用多个thrift接口ttypes冲突的问题
  7. 吴恩达深度学习4.2练习_Convolutional Neural Networks_the Happy House(Keras)
  8. RNN梯度爆炸原因和LSTM解决梯度消失解释
  9. Windows下第三方库安装Nuget与Vcpkg
  10. Python自动化运维开发----基础(十二)函数