如何在cmd下判断文件是否是utf-8?

如何在cmd下判断文件是否是utf-8?,第1张

在 Windows 系统的命令行界面(cmd)下判断文件是否是 UTF-8 编码,可以使用 chcp 命令和 findstr 命令结合的方式。

具体步骤如下:

打开命令行界面(cmd),进入待检查文件所在的目录。

执行命令 chcp,查看当前命令行界面的代码页。如果代码页为 936,表示当前命令行界面为简体中文 GBK 编码。如果代码页为 65001,表示当前命令行界面为 UTF-8 编码。如果当前命令行界面不是 UTF-8 编码,则需要先将代码页设置为 UTF-8,可以执行命令 chcp 65001。

执行命令 findstr /I /V /L /G:"C:\path\to\utf8txt" "C:\path\to\file\to\checktxt",其中 /I 表示忽略大小写,/V 表示输出不匹配的行,/L 表示按照字面意义匹配,/G:"C:\path\to\utf8txt" 表示使用 utf8txt 文件中的字符集检查,"C:\path\to\file\to\checktxt" 表示待检查的文件名。执行此命令后,如果输出结果为空,则表示待检查的文件是 UTF-8 编码;如果输出结果不为空,则表示待检查的文件不是 UTF-8 编码。

注意事项:

utf8txt 文件中应包含 UTF-8 编码的所有字符,可以使用 Windows 上的文本编辑器(如 Notepad++)创建该文件,并将文件编码设置为 UTF-8。

如果待检查的文件名中包含空格或其他特殊字符,需要将文件名用双引号括起来。

此方法只能检查文件是否是 UTF-8 编码,不能判断文件的有效性和正确性。

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

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

命令 chcp

功能:

显示或设置活动代码页编号

CHCP [nnn]

nnn 指定代码页编号。

不加参数键入 CHCP 显示活动代码页编号。

nnn指定一已有的'系统字符集,该字符集在CONFIGSYS文件中由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 美国英语

//补充

dos指令:

chcp 65001 就是换成UTF-8代码页

chcp 936 可以换回默认的GBK

chcp 437 是美国英语

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

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMDexe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。

如果想正确显示UTF-8字符,可以按照以下步骤 *** 作:

1、打开CMDexe命令行窗口

2、通过 chcp命令改变代码页,UTF-8的代码页为65001

chcp 65001

执行该 *** 作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。

3、修改窗口属性,改变字体

在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

这时使用type命令就可以显示UTF-8文本文件的内容了:

type filenametxt

4、通过以上 *** 作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。

;

新建文件夹,输入

Windows Registry Editor Version 500

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmdexe]

"CodePage"=dword:0000fde9

"FontFamily"=dword:00000036

"FontWeight"=dword:00000190

"FaceName"="Consolas"

"ScreenBufferSize"=dword:232900d2

"WindowSize"=dword:002b00d2

保存后,再更改名为cmdreg。

点击注册注册变即可永久更改系统编码

当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XXjava,当然就会出现不兼容的情况。
解决方法:
1、转换成UTF-8编码格式,但仍然有错解决办法是:应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XXjava
2、开始-->计算机-->鼠标反键(鼠标右键)-->属性-->高级系统设置-->环境变量-->系统变量新建。然后输入:“JAVA_TOOL_OPTIONS”变量,值为“-Dfileencoding=UTF-8”然后确定、确定、在确定后。新开命令行窗口,再次输入javac命令。

问题一:一般情况下数据库进行数据 *** 作都是你一开始自定义的编码,如果你像使用其他编码就必须强制转换了,要你没打入强制装换的代码,数据库还是按默认编码格式运行的。 问题二:有可能是它保存时是使用的GB2312编码,所以必须得按这种编码去查询,不然即使有显示也会是乱码。 问题三:你需要的时候就可以进行编码转化,比如你的浏览器不支持你现在的编哗锭糕瓜蕹盖革睡宫精码格式。可以。 谢谢大家的帮忙,有些问题还请多多指教,现在略微清楚些了,学习中。。。

这个跟活动控制台代码页有关。
如果要更改为 UTF-8,则需要运行 chcp 命令:
chcp 65001
有时新安装的系统可能在运行一些中文软件时显示错乱,可通过控制面板修改系统区域来管理这一行为: 控制面板-区域和语言-“管理”选项卡,更改“非 Unicode 程序的语言”为“中文(简体,中国)”。
修改对系统上所有账户都起作用;完成修改之后,需要重新启动计算机。

<p>使用Windows下的cmd命令,可以使用type或more命令来查看文件的编码格式,用法示例如下:</p><p>type filename /u</p><p>more filename /e</p><p>其中/u参数表示使用Unicode编码,/e参数表示使用extended ASCII编码。要查看多个文件编码格式,可以使用for循环来批量遍历文件,示例如下:</p><p>for %a in (txt) do type %a /u</p>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12901424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存