如何使用bash操作包含unicode(泰语)字符的CSV?
我有一个Adwords转储,其中包含泰语关键字,我将使用这些关键字与另一个数据库中的数据进行连接 理论上,我抓起文件,剪掉顶部和底部无用的行,稍微清理一下,然后作为一个新表上传到PostgreSQL 实际上,即使文件在Excel和OpenOffice中可以很好地打开,字符在途中(实际上,从一开始)也会被乱码。在我的本地机器(运行OSX)和服务器(运行Ubuntu)上都是如此 首先,我已经将语言环境设置为UTF-8:如何使用bash操作包含unicode(泰语)字符的CSV?,bash,csv,ubuntu,utf-8,thai,Bash,Csv,Ubuntu,Utf 8,Thai,我有一个Adwords转储,其中包含泰语关键字,我将使用这些关键字与另一个数据库中的数据进行连接 理论上,我抓起文件,剪掉顶部和底部无用的行,稍微清理一下,然后作为一个新表上传到PostgreSQL 实际上,即使文件在Excel和OpenOffice中可以很好地打开,字符在途中(实际上,从一开始)也会被乱码。在我的本地机器(运行OSX)和服务器(运行Ubuntu)上都是如此 首先,我已经将语言环境设置为UTF-8: $ echo "กระเป๋า สะพาย คอนเวิร์ส" กระเป
$ echo "กระเป๋า สะพาย คอนเวิร์ส"
กระเป๋า สะพาย คอนเวิร์ส
但是,在CLI上查看CSV(假设它只包含上述字符串)会得出以下结论:
$ head file.csv
#0@2 *02" -@'4#L*
知道问题出在哪里吗?原始文件的编码错误
$ file file.csv
file.csv: Little-endian UTF-16 Unicode English text
快速修复:
$ iconv -f UTF-16 -t UTF-8 file.csv
$ head file.csv
กระเป๋า สะพาย คอนเวิร์ส