在Windows批处理中回覆UTF-8字符

我可以使用echo生成一个UTF-8文本文件吗? 例如,如果我想生成一个包含字符“è”的文件

echo "abcd ę" > out.txt 

(该batch file使用UTF-8编码)

结果是一个ANSI编码的文件,“é”字符被转换成“ê”。 我怎样才能说服“回声”生成一个UTF-8文件?

如果这是不可能的,那么我可以在创build文本文件后更改它的编码吗? gnuwin32软件包中是否有任何工具可以帮助我更改编码?

谢谢

Solutions Collecting From Web of "在Windows批处理中回覆UTF-8字符"

使用chcp命令将活动代码页更改为utf-8的65001。

 chcp 65001 

尝试使用/ U开关启动CMD.exe:它会使所有管道输出为Unicode而不是ANSI。

问题是该文件包含以下行:

 <META content="text/html; charset=iso-8859-2" http-equiv=Content-Type> 

然后记事本2和Firefox正在改变字符集,显示Ä而不是Ä。 在普通的记事本中,文件看起来不错。 解决方案是在文件的开头添加UTF-8签名(字节顺序标记):

 echo1 -ne \xEF\xBB\xBF > out.htm 

(echo1来自gnuwin32)

感谢您的答案

chcp 65001

正如@cuixiping提到的是一个很好的答案,但它需要更改cmd默认字体Lucida控制台 ,例如,你可以在这里阅读: https : //superuser.com/questions/237081/whats-the-code-page-of ·UTF-8#272184

当然,正如@BearCode提到的那样,文本应该是utf-8 …在我的情况下,VIM在GNU / Linux下可以远程访问,但是notepad ++也是正确的!