如何解决错误:在编码“WIN1252”中字节序列为 0x9d 的字符在加载备份时编码“UTF8”没有等效项
我有一台 mac os 机器,我在上面使用以下命令备份了一个表
psql -h localhost -U prices_root -d prices_deb -c "\copy
(SELECT feed_item_id,pubdate,link,guid,title,summary,content,author,feed_id from feed_items)
TO 'prices_deb_feed_items_dump.csv' with (format csv,header true,delimiter '^');"
我的 feed_items 表具有以下结构
我的 Mac 机器已停止工作,我使用相同的用户密码等在 Windows 上再次创建了相同的数据库。我尝试使用以下命令从 CSV 数据转储中恢复该表中的数据
psql -h localhost -U ch_v3_root -d ch_v3_dev -c "\copy
feed_items(feed_item_id,feed_id)
FROM 'prices_deb_feed_items_dump.csv' with (format csv,delimiter '^');"
它给了我这个错误
ERROR: character with byte sequence 0x9d in encoding "WIN1252" has no equivalent in encoding "UTF8"
CONTEXT: COPY feed_items,line 21
如果有人能帮我恢复这个数据库表,我将不胜感激。当我在 mac 上测试备份恢复时,它运行良好。在 Windows 上,我不断收到此错误
解决方法
您需要使用从 MacOS 计算机导出数据时使用的相同客户端编码。例如,如果是 Windows-1251,则在 Windows 命令行上可以执行
set PGCLIENTENCODING=WIN1251
psql ... -c "\copy ..."
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。