Linux

無法將文件編碼更改為 utf-8

  • March 29, 2022

我使用 vi 編輯器修改了一個UTF-8編碼的 xml 文件並保存了它。

我在 Redhat Linux 7.9

我檢查了更改後的文件編碼,發現它是us-ascii

file --mime-encoding tmpfiles/08/config/jdbc/jdbc.xml
tmpfiles/08/config/jdbc/jdbc.xml: us-ascii

我決定將編碼改回UTF-8使用以下命令:

iconv -f us-ascii -t UTF-8 tmpfiles/08/config/jdbc/jdbc.xml >tmpfiles/08/config/jdbc/jdbc.xmlenc

echo $?
0

但是,新文件的編碼jdbc.xmlenc並未更改為UTF-8並保持不變。請參閱下面的輸出:

file --mime-encoding tmpfiles/08/config/jdbc/jdbc.xmlenc
tmpfiles/08/config/jdbc/jdbc.xmlenc: us-ascii

您能否建議我如何將文件編碼更改為UTF-8

只有當您的文件包含 UTF-8 字元時,它才會是 UTF-8。

US-ASCII 是 UTF-8 的子集,因此任何 US-ASCII 文本也是有效的 UTF-8 文本。無需轉換任何東西。

引用自:https://unix.stackexchange.com/questions/697225