代码页

如何在DOS窗口中显示UTF-8字符

荒凉一梦 提交于 2020-03-16 12:47:02
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1、打开CMD.exe命令行窗口 2、通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。 3、修改窗口属性,改变字体 在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。 这时使用type命令就可以显示UTF-8文本文件的内容了: type filename.txt 4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。 ++++++++++++++++++++++++++++++++++++ 用命令chcp: 功能: 显示或设置活动代码页编号   CHCP [nnn]   nnn 指定代码页编号。   不加参数键入 CHCP 显示活动代码页编号。   nnn指定一已有的系统字符集

CMD当前代码页修改

眉间皱痕 提交于 2020-03-16 12:41:55
/*--> */ /*--> */ python3.x在程序开发中统一的编码是 UTF-8 ,但是进行交互式编程的时候会经常遇到乱码问题,这是因为 Window cmd 的默认编码是 GBK 。与程序采用的 UTF-8 不一致造成的中文及特殊字符乱码。 先来查看下当前 cmd 窗口的当前代码页:在标题栏点击右键 , 打开属性面板 , 会看到 ” 选项 ” 标签页下方显示 ” 当前代码页 ” 的编码 . 然后选择 ” 字体 ” 标签页 , 把字体设置为 Lucia Console, 然后确定关闭 . 第一种:临时性修改编码 使用 chcp 命令,例如 chcp 437 ,这回将当前代码页变为 MS-DOS 美国英语,不过这种方式在关闭 cmd 之后会自动失效。 常用的编码及对应的码值 (10 进制 ) : 十进制码值 对应编码名称 950 繁体中文 65001 UTF-8 代码页 936 简体中文默认的 GBK 437 MS-DOS 美国英语 第二种:永久性修改:通过修改注册注册表达到。 打开注册表方法: 定位到: HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe 同理你也可以修改: powershell 的默认编码。如果无法修改的,可以先排查下是不是没有权限,没有权限给自己分配个权限 来源: https://www

C#文字代码页,文字编码的代码页名称速查表

﹥>﹥吖頭↗ 提交于 2020-03-08 22:21:47
前言 众所周知计算机只能识别二进制数字,如1010,1001。我们屏幕所看到的文字,字符都是和二进制转换后的结果。将我们的文字按照某种规则转换二进制存储在计算机上,这一个过程叫字符编码,反之就是解码。目前存在多种字符编码方式,一组二进制数字根据不同的解码方式,会得到不同的结果,有时甚至会得到乱码。这也就是为什么我们打开网页时有时会是乱码,打开一个文本文件有时也是乱码,而换了一种编码就恢复正常了。CLR中的所有字符都是16位Unicode来表示的。CLR中的Encoding就是用于字节和字符之间的转换的。更多字符编码知识请参考, 字符集和字符编码(Charset & Encoding) 关于Encoding CLR中的Encoding是在System.Text命名空间下的,它是一个抽象类(abstract class), 所以不能被直接实例化,它主要有如下的派生类: ASCIIEnding,UnicodeEncoding,UTF32Encoding,UTF7Encoding,UTF8Encoding ,你可以根据需要选择一个合适的Encoding来进行编码和解码。你也可以调用Encoding的静态属性ASCII,Unicode,UTF32,UTF7,UTF8,来构造一个Encoding。其中Unicode是表示16位Encoding。调用静态属性和实例化一个子类的效果是一样的

更改Windows命令行字体

跟風遠走 提交于 2020-03-06 13:41:27
平常工作时不时地会用到Windows命令行,编译个小程序或者使用某些命令行程序什么的,但是中文版Windows的命令行可选的字体只有点阵字体和新宋体,我都不喜欢。在网上搜索了一下,发现这个问题源自于Windows命令行的代码页设置。代码页是字符编码发展过程的产物,本文不再详述,感兴趣的同学可以关注我的专栏 《编码精粹》 。下面我们直接看怎么解决这个问题,叙述以Windows 7为例,但是应该适合大多数版本的Windows系统。 一、默认情况 默认情况下的效果如下所示: 这个字体稍微用用还行,如果每天都要用的话,我会疯的,尤其是汉字的效果,让人不忍直视。 打开cmd,点击左上角图标,在弹出的系统菜单中选择属性,就会出现如下所示的属性窗口。可以看到cmd程序的当前代码页是936,使用的编码是GBK。接着切换到字体选项卡,查看可选的字体。 字体列表中只有点阵字体和新宋体,这个问题源于Windows对Console程序的设定,打开注册表定位至[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont],就可以看到Windows下Console程序的TrueType字体设定了。 我们可以看到936等几个字符串值每一项都对应一个代码页,比如936对应简体中文,950代表繁体中文等

解决命令行的乱码以及编码的问题

自闭症网瘾萝莉.ら 提交于 2020-02-29 12:34:10
命令 chcp 功能: 显示或设置活动代码页编号   CHCP [nnn]   nnn 指定代码页编号。   不加参数键入 CHCP 显示活动代码页编号。   nnn指定一已有的系统字符集,该字符集在CONFIG.SYS文件中由COUNTRY命令定义。   在DOS下可以通过mode命令来设置代码页。   选定代码页: MODE CON[:] CP SELECT=yyy   代码页状态: MODE CON[:] CP [/STATUS]   按Windows+R组合键,然后输入cmd或者command打开命令提示符。   比如输入:mode con cp select=936,则表示显示简体中文。如果输入mode con cp select=437,则表示显示MS-DOS 美国英语,而中文显示将会是?。   MS-DOS为以下国家和语言提供字符集:   代码页描述   1258 越南语   1257 波罗的语   1256 阿拉伯语   1255 希伯来语   1254 土耳其语   1253 希腊语   1252 拉丁 1 字符 (ANSI)   1251 西里尔语   1250 中欧语言   950 繁体中文   949 朝鲜语    936 简体中文(默认)   932 日语   874 泰国语   850 多语种 (MS-DOS Latin1)   437 MS-DOS

更改cmd代码页,修正中文显示

荒凉一梦 提交于 2020-02-29 11:46:31
执行以下相应的命令: rem 英文 chcp 437 rem 日文 chcp 932 rem 简体中文 chcp 936 rem 韩文 chcp 949 rem 繁体中文 chcp 950 rem utf-8 chcp 65001 如果cmd的默认代码页属性修改不了,那么修改注册表: 1 win键+R打开“运行”对话框,输入regedit打开注册表编辑器。 2 找到 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] 3 修改"CodePage"=dword:000003a8 【注】十六进制"000003a8"或十进制"936",表示“936 (ANSI/OEM - 简体中文 GBK)”。 如果代码页改成65001之后,仍无法正常显示UTF-8字符,则需要改变字体属性: 在命令行标题栏上点击右键,选择 "属性"->"字体" ,将字体修改为True Type字体" Lucida Console ",然后点击确定将属性应用到当前窗口。 通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。 -------- -------- -------- -------- -------- -------- -------- -------- --------

利用QuickPart实现webpart connection

瘦欲@ 提交于 2020-02-27 20:48:53
相信大家看完我写的 利用 QuickPart 快速定制 WEBPART 和 利用 QuickPart 轻松制定 webpart 属性 两篇文章之后,对这篇一定会更感兴趣,好了直接步入正题吧: 首先,还是在原先的 DEMO 直接再添加一个用户控件,命名为 RecivefolderUrlControl 然后返回到页面,在用户控件页面上添加一个 GridView 点击,最后添加引用,选择 Microsoft.Sharepoint.dll ,该文件的路径在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI 组建添加完毕,记得在代码页导入 Microsoft.sharepoint.dll ,在此代码页编写一个静态方法 ReciveFolderUrl(). 记得在该方法上方声明此方法作为数据的接收方 [ConnectionConsumor] 。 然后返回到 TreeviewControl 代码页,编写一个返回 STRING 类型的方法 SendFolderUrl ,也一样记得声明吃方法为数据提供方 [ConnetionProvider] 到此本章节的代码就编写完毕,然后记得去 ReceviefolderUrlControl 源码页,点击文件 -> 高级保存选项 -> 源码页: 选中 UTF

利用QuickPart实现webpart connection

流过昼夜 提交于 2020-02-25 14:04:43
相信大家看完我写的 利用 QuickPart 快速定制 WEBPART 和 利用 QuickPart 轻松制定 webpart 属性 两篇文章之后,对这篇一定会更感兴趣,好了直接步入正题吧: 首先,还是在原先的 DEMO 直接再添加一个用户控件,命名为 RecivefolderUrlControl 然后返回到页面,在用户控件页面上添加一个 GridView 点击,最后添加引用,选择 Microsoft.Sharepoint.dll ,该文件的路径在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI 组建添加完毕,记得在代码页导入 Microsoft.sharepoint.dll ,在此代码页编写一个静态方法 ReciveFolderUrl(). 记得在该方法上方声明此方法作为数据的接收方 [ConnectionConsumor] 。 然后返回到 TreeviewControl 代码页,编写一个返回 STRING 类型的方法 SendFolderUrl ,也一样记得声明吃方法为数据提供方 [ConnetionProvider] 到此本章节的代码就编写完毕,然后记得去 ReceviefolderUrlControl 源码页,点击文件 -> 高级保存选项 -> 源码页: 选中 UTF

中文字符集编码unicode,gb2312,cp936,GBK,GB18030介绍

让人想犯罪 __ 提交于 2020-02-12 04:39:18
概要: UTF-8的一个特别的好处是它与ISO- 8859-1完全兼容,可以表示世界上所有的字符,汉字通常用3个字节来表示。GB2312的code page是CP20936。GBK的code page是CP936 。GB18030支持的字符数更多。GB2312、GBK、GB18030均为双字节。 整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这 几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢? 问题二:最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。 查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。作者写成一篇文章,送给有过类似疑问的朋友

UNICODE,GBK,UTF-8区别

流过昼夜 提交于 2019-12-29 13:53:48
UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode码,再转utf-8就OK了. 详细的就见下面转的这篇文章. 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢? 问题二