编码错误PostgreSQL 8.4

Har*_*tty 4 postgresql ruby-on-rails

我正在从CSV文件导入数据.其中一个领域有口音(TelefónicaO2UK Limited).应用程序在将数据插入表时会引发错误.

PGError: ERROR:  invalid byte sequence for encoding "UTF8": 0xf36e6963
HINT:  This error can also happen if the byte sequence does not match the 
encoding expected by the server, which is controlled by "client_encoding".
: INSERT INTO "companies" ("name", "validated") 
    VALUES(E'Telef?nica O2 UK Limited', 't')
Run Code Online (Sandbox Code Playgroud)

当我输入带有重音符号和变音符号的名称时,通过表单输入数据.我该如何解决这个问题?

编辑

我通过转换文件编码来解决这个问题.我将CSV文件上传到Google文档并将文件导出为CSV.

Hen*_*ing 6

错误消息非常清楚:您的client_encoding设置设置为,UTF8并且您尝试插入未以UTF8编码的字符(如果它是来自MS Excel的CSV,则您的文件可能在Windows-1252中编码).

您可以在应用程序中转换它,也可以更改PostgreSQL连接以匹配您要插入的编码(从而使PostgreSQL能够为您进行转换).您可以通过SET CLIENT_ENCODING TO 'WIN1252';在尝试插入数据之前执行PostgreSQL连接来执行此操作.导入后,您应该将其重置为原始值RESET CLIENT_ENCODING;

HTH!