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.
错误消息非常清楚:您的client_encoding设置设置为,UTF8并且您尝试插入未以UTF8编码的字符(如果它是来自MS Excel的CSV,则您的文件可能在Windows-1252中编码).
您可以在应用程序中转换它,也可以更改PostgreSQL连接以匹配您要插入的编码(从而使PostgreSQL能够为您进行转换).您可以通过SET CLIENT_ENCODING TO 'WIN1252';在尝试插入数据之前执行PostgreSQL连接来执行此操作.导入后,您应该将其重置为原始值RESET CLIENT_ENCODING;
HTH!
| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |