0

我有一个包含泰语关键字的 Adwords 转储,我将使用它来连接来自另一个数据库的数据。

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

在实践中,即使文件在 Excel 和 OpenOffice 中打开良好,字符也会在途中出现乱码(实际上是从一开始)。以下在我的本地机器(运行 OSX)和服务器(运行 Ubuntu)上都是正确的。

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

 $ echo "กระเป๋า สะพาย คอนเวิร์ส"
 กระเป๋า สะพาย คอนเวิร์ส

但是,查看 CLI 上的 CSV(假设它只包含上述字符串)给了我这个:

$ head file.csv    
#0@2 *02" -@'4#L* 

知道问题出在哪里吗?

4

1 回答 1

0

原始文件的编码错误。

$ file file.csv
file.csv: Little-endian UTF-16 Unicode English text

快速解决:

$ iconv -f UTF-16 -t UTF-8 file.csv
$ head file.csv
กระเป๋า สะพาย คอนเวิร์ส
于 2016-04-14T11:27:21.070 回答