我是 SQL 初学者。我想将带有日语文本的 CSV 文件导入到 PostgreSQL 表中。我创建了一个表并尝试导入 CSV 但此错误退出:
ERROR: invalid byte sequence for encoding "UTF8": 0x8c
CONTEXT: COPY tTokyoDir, line 1
********** Error **********
ERROR: invalid byte sequence for encoding "UTF8": 0x8c
SQL state: 22021
Context: COPY tTokyoDir, line 1
有人能帮忙吗?
最佳答案
您需要确定 CSV 文件的编码,因为它不是 utf-8
。
参见 How to auto detect text file encoding?如果您需要帮助。
如评论中所述,EUC-JP
和 Shift-JIS
是日语的合理编码,postgres 均支持。
然后指示服务器在导入期间期望使用该编码。
例如:
SET client_encoding TO 'EUC-JP';
COPY table_name FROM 'file.csv' CSV;
SET client_encoding TO default;
此方法即时转换数据,这是最简单的方法,适用于任何 PostgreSQL 版本。
如果您使用 9.1 或更新的版本,COPY
有一个 ENCODING
参数,使其成为单行代码:
COPY table_name FROM 'file.csv' CSV ENCODING 'EUC-JP';
关于postgresql - 如何将带有日语文本的 CSV 导入到 PostgreSQL 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18648758/