2014-09-25 74 views
1

我遇到了一些文件編碼問題。我有這樣的一個文件:Linux中的強制文件編碼

ą 
ć 
ę 
ł 
ń 
ó 

(我來自波蘭,所以我們需要用這些字母;)當我在那個文件上使用cat命令我得到的是這樣的:

▒ 
▒ 

當在此文件中使用命令文件獲取:

file letter.txt 
letter.txt: ISO-8859 text 

但使用文件-bi給我:

text/plain; 
charset=iso-8859-1 

我怎麼能強迫該文件被正確編碼,以便將顯示所有的字母,因爲它們是這個文件中寫的嗎?

+0

取決於您使用的編輯器。對於Gedit,您可以在保存對話框中選擇編碼。 – pacholik 2014-09-25 13:10:12

+0

我沒有使用任何編輯器。事情是 - 這個文件是在系統之外創建的,並且正在被傳輸到它。所以我得到的只是一個帶有錯誤字母的文件。不幸的是,我無法對它的創建或轉移方式做任何事情。轉讓後我必須做些什麼。 – NRG 2014-09-25 13:19:54

+0

你只需要知道它的字符集。你可以使用chardet來找到它。 – pacholik 2014-09-25 13:26:47

回答

0

對不起,沒有反饋。我找到了解決我的問題的方法。我已經糾正了文件傳輸到系統的方式。現在一切正常。

1

使用localectl來檢查你的終端的編碼是什麼。 問題是您的終端不使用與您的文件相同的編碼。 但正如另一張海報所說,你需要知道原始文件的編碼是什麼。