2015-12-22 3 views
1

Китайские символы моего CSV-файла превратились в символы ascii, когда я запустил awk-код. Я знаю это, потому что, когда я Vi мой файл CSV в Vim:Почему китайские персонажи становятся ascii в vi?

я вижу это:

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

Какой результат «локали»? –

+0

можете ли вы сообщить, правильно ли отображаются ваши слова vim myfile.csv'? – Kent

+0

Этот вопрос может быть более уместным на соответствующем сайте vi.stackexchange.com. Подумайте об использовании ссылки флага в нижней части вашего Q и попросите модератора переместить его. Удачи – shellter

ответ

-1

Там нет ничего плохого в Vim, если китайские символы отображаются нормально в нем. cat использует настройки языкового стандарта терминала, предложенные Alastair, пожалуйста, проверьте свой locale и обратите внимание на LANG & LC_ALL. Также вы можете попробовать ввести китайский в своем терминале, чтобы убедиться, что он работает правильно, тогда ваши cat или awk будут работать должным образом.

+0

Отчет OP - это противоположность вашему комментарию. –

Смежные вопросы