2016-10-01 270 views
0

我想在vi上看到芬蘭語文本的內容。但是,它會用數字替換一些字母。例如,<8a>代表ä等。Vi字符編碼問題

我將字符編碼更改爲ISO8859-1,但在查看文件時仍然無法顯示變音符號。我也在vi上嘗試過:set encoding=latin1,但是它會更改爲不同的字母,但不會是元音變音字母。最後,我嘗試用原始字母替換這些數字,但是我得到'pattern not found'錯誤。我不確定我是否正確地進行了替換:%s/<8a>/ä

是否有更多解決方案的想法?在命令行

vi screenshot

+2

在Vim中有'encoding','termencoding','fileencoding'和'fileencodings'。然後在你的終端中有語言環境,在桌面管理器中有語言環境(或者你正在使用的是什麼)。要開始調試這個問題,你需要了解它們各自的作用。然後,您需要將它們中的每一個都設置爲適當的值。他們都依賴於您的特定設置。 –

+0

我嘗試了所有這些,但仍然沒有改變那些怪異的字符。我結束了手動更改它們。也許文件已損壞。我想不出更多的理由。 – malaguena

+0

是的,你的文件似乎已損壞。 '8a'不是'ISO-8859-1'中的可打印字符。它不是'Windows-1252'或'UTF-8'中的''。在ISO-8859-1中''e4','UTF-8'中''c3a4'。 –

回答

0

嘗試:

vim -c "set encoding=utf8" -c "set fileencoding=utf8" -c "wq" filename 

是文件名,你需要用正確的編碼,打開原始文件。

+0

它將編碼更改爲utf-8。我認爲ISO8859-1是這種語言的正確編碼。我試過這個命令,但仍然是一樣的。 – malaguena

+0

只需選擇適合您需求的正確編碼。 – Dez

+0

我嘗試使用iso8859-1作爲源和目標編碼。但是,它仍然顯示相同的奇怪數字。編碼是正確的,但它仍然不顯示正確的字母。真奇怪。 – malaguena