Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用bash操作包含unicode(泰语)字符的CSV?_Bash_Csv_Ubuntu_Utf 8_Thai - Fatal编程技术网

如何使用bash操作包含unicode(泰语)字符的CSV?

如何使用bash操作包含unicode(泰语)字符的CSV?,bash,csv,ubuntu,utf-8,thai,Bash,Csv,Ubuntu,Utf 8,Thai,我有一个Adwords转储,其中包含泰语关键字,我将使用这些关键字与另一个数据库中的数据进行连接 理论上,我抓起文件,剪掉顶部和底部无用的行,稍微清理一下,然后作为一个新表上传到PostgreSQL 实际上,即使文件在Excel和OpenOffice中可以很好地打开,字符在途中(实际上,从一开始)也会被乱码。在我的本地机器(运行OSX)和服务器(运行Ubuntu)上都是如此 首先,我已经将语言环境设置为UTF-8: $ echo "กระเป๋า สะพาย คอนเวิร์ส" กระเป

我有一个Adwords转储,其中包含泰语关键字,我将使用这些关键字与另一个数据库中的数据进行连接

理论上,我抓起文件,剪掉顶部和底部无用的行,稍微清理一下,然后作为一个新表上传到PostgreSQL

实际上,即使文件在Excel和OpenOffice中可以很好地打开,字符在途中(实际上,从一开始)也会被乱码。在我的本地机器(运行OSX)和服务器(运行Ubuntu)上都是如此

首先,我已经将语言环境设置为UTF-8:

 $ 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
กระเป๋า สะพาย คอนเวิร์ส