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"
最后:
我希望国家赶快繁荣昌盛,然后那些钱多到用来支持国外企业,多到用来刷女主播……的人,施舍点给国产计算机行业做发展吧。
对中文的支持,还得靠国人自己呀。
相关文章
- URL编码表,URL编码大全
- 编码格式简介:ASCII码、ANSI、GBK、GB2312、GB18030和Unicode、UTF-8,BOM头
- 【学习总结】计算机网络-纠错编码之海明码or汉明码
- 通过配置文件避免硬编码的一个例子
- ML之LightGBM:通过数据预处理(分布图热图/特征分箱/标签编码)利用LightGBM实现银行客户是否购买产品二分类预测(交叉训练/AUC曲线可视化/Shap模型可解释)之详细攻略
- 音视频基础:H264、H265、MPEG-4、VP8、VP9编码基础知识
- 强行分类提取特征自编码网络例1
- 在OpenCV里实现霍夫曼编码1
- myEclipse新建jsp,默认编码
- 【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例