在对包含区域字符的文件执行“type”命令时,我遇到了问题。虽然我可以使用记事本或任何其他编辑器正确查看该文件,但当我从命令行尝试“type file”命令时,区域字符显示不正确。
我尝试执行 chcp 850 或 chcp 1250,但没有效果。执行 cmd.exe /u 也不起作用。
你能帮助我吗?谢谢
答案1
代码页
您应该将“chcp”命令中使用的代码页设置为与文件中使用的编码相匹配。
如果记事本识别该文件,则它必须采用记事本可以识别的编码之一:
ANSI .................
通常是 Windows Latin-1,代码页 1252。Unicode ..............
带有字节顺序标记 (BOM) 的 UTF-16 Little Endian。Unicode Big-endian ...
带有 BOM 的 UTF-16 大端字节序。UTF-8.................
带有 BOM 的 UTF-8。
因此,如果文件采用 UTF-8 Unicode 编码,则可以使用chcp 65001
正如 barlop 在下面评论的那样:“命令提示符窗口不支持 UTF-16 代码页。”因此,为了显示 UTF-16 文件中的数据,您能做的最好的事情可能是使用记事本或其他合适的工具将此类文件转换为 UTF-8(也许图标或者重新编码)。
字体
您还应该设置字体命令提示符窗口的字体包含需要显示的特定字符。例如,如果合适,Lucida Console。您可以从窗口标题栏上的上下文菜单(单击鼠标右键)执行此操作,选择“属性”选项。
如果你有一个等宽字体,其字符集包含你需要的特定字符,你可以调整这些说明使命令提示符窗口使用该字体。
例子
也可以看看
查看相关问题https://stackoverflow.com/questions/4572393/perl-unicode-glitch
答案2
使用cmd /a type filename
将文件从 Unicode 转换为 ANSI。
cmd /u type filename
可以使用当前代码页将 ASCII 文件转换为 Unicode 文件。