我有一个包含泰语关键字的Adwords转储,我将用它来加入来自其他数据库的数据。
理论上,我抓住文件,剪掉顶部和底部无用的线条,将其清理一下,然后将其作为新表上传到PostgreSQL。
实际上,即使文件在Excel和OpenOffice中正常打开,字符也会在路上(实际上从头开始)出现乱码。在我的本地机器(运行OSX)和服务器(运行Ubuntu)上都是如此。
首先,我已将我的语言环境设置为UTF-8:
$ echo "กระเป๋า สะพาย คอนเวิร์ส"
กระเป๋า สะพาย คอนเวิร์ส
然而,在CLI上查看CSV(让我们假设它只包含上面的字符串)给了我:
$ head file.csv
#0@2 *02" -@'4#L*
知道问题出在哪里?
答案 0 :(得分: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
กระเป๋า สะพาย คอนเวิร์ส