2015-12-22 55 views
1

當我運行awk代碼時,我的CSV文件的中文字符變成了ascii字符。我知道這是因爲當我VI我的CSV文件在vim:爲什麼漢字在vi中變成ascii?

我看到這一點:

words,country,percent_sum,week 
å<88><86>æ<9c><9f>,China,16.5,11/22/15 
å<8f><91>è´§,China,31.36,11/22/15 

的中國話都變成ASCII字符。我做的唯一的事情就是:

cat myfile.csv|awk -F, '{if(NF==4 && $4 != "12/13/15-12/19/15") print }' > tmp 

,因爲我沒有覆蓋我的CSV文件,寫一個tmp文件,而不是這是奇怪的。

但是,當我在終端中捕獲CSV文件時,它看起來很好。 這是一個我需要改變的vim設置嗎?

我已經在我的vimrc此設置:

set encoding=utf-8 
set fileencoding=utf-8 
+0

'locale'的輸出是什麼? –

+0

如果你的vim myfile.csv能正確顯示漢字,你能報告嗎? – Kent

+0

這個Q可能更適合在相關網站vi.stackexchange.com上。考慮使用Q底部的標誌鏈接並請主持人移動它。祝你好運 – shellter

回答

-1

沒有什麼錯用vim如果中國字符它正常顯示。 cat使用終端區域設置爲Alastair建議,請檢查您的locale並注意LANG & LC_ALL。您也可以嘗試在終端中輸入中文以查看它是否正常工作,然後您的catawk將按預期工作。

+0

OP的報告與你的評論相反。 –

相關問題