2012-08-14 78 views
12

我可以使用echo生成UTF-8文本文件嗎? 例如,如果我想生成包含該字符「E」Windows批處理回聲UTF-8字符

echo "abcd ę" > out.txt 

(批處理文件進行編碼UTF-8)

結果是一個ANSI編碼的文件和「E中的文件「人物變成了」ê「。 我如何說服「回聲」來生成一個UTF-8文件?

如果這是不可能的,那麼我可以在創建它後更改文本文件的編碼嗎? gnuwin32軟件包中是否有任何工具可以幫助我更改編碼?

感謝

+0

當我通過記事本查看out.txt中包含'abcdè'時,儘管在命令提示符窗口中它看起來像'abcd─'。我根本沒有得到'ê'。 – Neil 2012-08-14 23:47:42

回答

2

的問題是,該文件包含在所述行:

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

然後的Notepad2和Firefox被改變字符集,示出了代替E中。在普通的記事本中,文件看起來不錯。 的解決方案是在文件的開頭添加UTF-8簽名(字節順序標記):

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

(ECHO1是的GnuWin32)

感謝您的答案

7

嘗試用/ U開關開始的CMD.exe:它導致所有管道輸出到是Unicode而不是ANSI。

16

使用chcp命令將utf-8的活動代碼頁更改爲65001。

chcp 65001 
+0

謝謝,它的工作 – 2015-10-26 07:17:46

+2

不適合我;( – brunobliss 2015-11-05 11:26:32