我正在开发一个使用delphi和Postgres9.0的软件,最初的开发人员选择数据库编码为'SQL_ASCII'...因此,我们将数据库的编码改为UTF-8。我们开始得到这个错误之后

单击其中一个复选框(表单从数据库中填充),出现错误的查询是
从日记中选择*在(‘2005407’)中进行调查;
但是这个错误只出现在很少的复选框中,而不是全部。
更改是直接的,但是我们有大量的历史数据,我们必须重新存储到新创建的UTF-8 database..so中,我遵循了我在网络和堆栈溢出上找到的步骤。
SQL_Ascii_backup.backupUTF_Backup.backup但是当我试图恢复它时,我发现了他的错误。

然后,我尝试将原始的SQL_ASCII数据库转储为普通的SQL_Ascii_.sql文件,然后再次使用i更改encoding..and,然后进行还原。
>"C:\Program Files\PostgreSQL\9.0\bin\psql.exe"-h localhost -p 5434 -d myDB -U myDB_admin -f C:\converted_utf8.sql这是恢复正常,但我仍然得到错误。
编码"UTF-8“的字符0xc 286在”WIN1252“中没有对应的字符;
发布于 2011-12-13 13:49:41
C2 86是字符U+0086的UTF-8编码,是一种模糊的C1控制字符.此字符存在于ISO-8859-1中,但不存在于代码页1252的默认代码页1252中,后者在ISO-8859-1具有C1控件的空间中具有可打印字符。
您要转换为UTF-8的iconv命令有-f ISO8859-1,但您的意思可能是-f windows-1252。这将字节86映射到†字符。
发布于 2011-12-14 11:49:35
我消除了错误
编码"UTF-8“的字符0xc 286在”WIN1252“中没有对应的字符;
通过遵循dan04答案,但防止图标无法转换转储
应用程序很好(就我的情况而言)。
https://stackoverflow.com/questions/8489881
复制相似问题