cmd中utf-8编码的问题
有时候我们需要使用cmd显示某个utf-8编码的文本,这时候就需要设置cmd的代码页为65100。


也就是 chcp 65001 这条命令。这样设置可以临时生效。
如何要永久生效,需要在注册表中修改。
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
设置此路径名为 CodePage 项(DWORD32位值) ,值为十进制 65100。
以下是一些字符集:我们常用的是默认的 936 简体中文 和 65100 的 utf-8 。
1257 波罗的语
1256 阿拉伯语
1255 希伯来语
1254 土耳其语
1253 希腊语
1252 拉丁 1 字符 (ANSI)
1251 西里尔语
1250 中欧语言
950 繁体中文
949 朝鲜语
936 简体中文(默认)
932 日语
874 泰国语
850 多语种 (MS-DOS Latin1)
437 MS-DOS 美国英语
但是,切换为 utf-8 的代码页之后,又出来了新的问题。
首先是命令的返回信息变为英文的了。比如对比一下与之前的提示:活动代码页 和 Active code page 。
这就让英文不好的我们尴尬了。


然后接着的问题是,大家继续对比上图,我的输入法状态是中文五笔,可是依然不能输入中文。有网上说是因为系统没有启动 conime.exe 进程,我下载了这个进程,放在相应的目录,无论是通过点击还是启动 cmd 都没有把这个进程运行起来,始终没有解决方案,只能换回 936 ,才能输入中文。哪位高手知道如何解决,愿留言相告,感激不尽。
当然,utf-8下的问题还没完,虽然可以显示 utf-8 编码的文本了。但是在目录的切换过程中,却又出来了新的问题。


注意看图中的光标, 两个中文字符的时候,光标在第一个字的后面一点,再继续输入几个中文,光标越来越偏。这时候你还能好好的输入命令吗?别说大多都有完全主义+强迫症的朋友了,比如我。
最后再上一张图,大家猜这是什么情况?

可能你没想到,我用cd退回上层目录后,在再后面输入了中文,输入的中文字符我也不知道有没有输入进去。只知道返回一条:
The system cannot write to the specified device.
我输入了什么?中文呀。那为什么会这样?
细心的你可能还没发现,上面这张图和之前的图片上的字体有点不一样。
是的,在输入中文之前我还更改了字体:

我想问:难道点阵字体不支持中文显示?如果不支持显示的话为什么上面那一行的“简历”两个字能显示呢?

为什么?

附:从注册表设置 Lucida Console 字体 。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9
"WindowSize"=dword:00180050
"FontSize"=dword:000c0000
"FontFamily"=dword:00000036
"FontWeight"=dword:00000190
"FaceName"="Lucida Console"
最后:
我希望国家赶快繁荣昌盛,然后那些钱多到用来支持国外企业,多到用来刷女主播……的人,施舍点给国产计算机行业做发展吧。
对中文的支持,还得靠国人自己呀。
本文来源:http://www.cnblogs.com/daysme/p/6661298.html
cmd中utf-8编码的问题的更多相关文章
- Windows下的cmd命令行中设置环境编码
我们都知道,Windows下的cmd命令行默认编码是Windows系统的编码,就是ANSI编码或者说是GBK编码的,这样我们编写的很多应用比如php编写utf-8编码的应用在命令行下面运行时都会出现乱 ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- Mapreduce中的字符串编码
Mapreduce中的字符串编码 $$$ Shuffle的执行过程,需要经过多次比较排序.如果对每一个数据的比较都需要先反序列化,对性能影响极大. RawComparator的作用就不言而喻,能够直接 ...
- java中的字符编码方式
1. 问题由来 面试的时候被问到了各种编码方式的区别,结果一脸懵逼,这个地方集中学习一下. 2. 几种字符编码的方式 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符 ...
- 记录自己在 cmd 中执行 jar 文件遇到的一些错误
记录自己在 cmd 中执行 jar 文件遇到的一些错误 场景: 请求接口,解析接口返回的 JSON 字符串并插入到我们的数据库里面. 情况: 项目在 eclipse 中正常运行,打成 jar 包后在 ...
- 在CMD中操作mysql数据库出现中文乱码解决方案
百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现 ...
- 在Vim中查看文件编码和文件编码转换
在Vim中查看文件编码和文件编码转换 风亡小窝 关注 0.2 2016.09.26 22:43* 字数 244 阅读 5663评论 0喜欢 2 在Vim中查看文件编码 :set fileencodi ...
- 在cmd中使用doskey来实现alias别名功能
作为一枚网络工程师,经常就是面对一堆黑框框,也是就是终端.不同操作系统.不同厂家的目录,功能相同但是键入的命令又大不相同,这些差异化容易让脑子混乱.比如华为.思科.H3C.锐捷的设备, ...
- php和js中json的编码和解码
php中 1)编码 $jsonStr = json_encode($array) 2)解码 $arr = json_decode($jsonStr) <?php echo json_encode ...
随机推荐
- mysql 问题:连不上
问题描述: 客户端报错: MySQL Authentication plugin ‘caching_sha2_password’ cannot be loaded 解决方式: ALTER USER ' ...
- 字符编码几个缩写 ACR CCS CEF CES TES
摘自https://zhuanlan.zhihu.com/p/27012967 5. 在Unicode Technical Report (UTR统一码技术报告) #17<UNICODE CHA ...
- python的print函数自动换行及其避免
print函数自带换行功能,即在输出内容后会自动换行,但是有时我们并不需要这个功能,那怎么办呢?这时候就需要用到end这个参数了,使用方法参考下面这段打印$矩阵的代码: i = 1 while i&l ...
- 转:Http下载文件类 支技断点续传功能
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net ...
- 2017年3月29日 webService入门理解 二
前边说到了N多webService的概念. 其实,说白了,我个人理解的话,webService就是一个“概念”.就好像互联网一样,就是一个很虚幻,很高的一个概念.同样,webService也是.互联网 ...
- Compare AURO OtoSys IM100 with OtoSys IM600
The main difference lies in Mercedes-Benz, VW, Audi software and adapters to work with. Software dif ...
- linux centos6.5 php5.6 安装PHPUnit 5.2.9 (转)
转自:http://blog.csdn.net/shancunxiaoyazhi/article/details/50765293 操作系统版本:CentOS6.5 PHP版本:5.6 下载phpun ...
- Dubbox分布式框架之入门
Dubbox简介 Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbox,被国内电商及换联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护, ...
- python简说(十二)time模块
1.时间戳 print(int(time.time())) 2.取当前格式化好的时间 time.strftime('%Y-%m-%d %H:%M:%S') 3.时间戳转为格式化好的时间 time1 = ...
- C语言实现随机生成0或1
rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数.如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的.srand(u ...