Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PG::错误:错误:编码的字节序列无效;UTF8";:通过Taps将MySQL导入PostgreSQL时出现0xed2020(Sequel::DatabaseError)_Mysql_Ruby_Database_Postgresql_Taps - Fatal编程技术网

PG::错误:错误:编码的字节序列无效;UTF8";:通过Taps将MySQL导入PostgreSQL时出现0xed2020(Sequel::DatabaseError)

PG::错误:错误:编码的字节序列无效;UTF8";:通过Taps将MySQL导入PostgreSQL时出现0xed2020(Sequel::DatabaseError),mysql,ruby,database,postgresql,taps,Mysql,Ruby,Database,Postgresql,Taps,我一直在尝试将我的MySQL迁移到Postgres,从我发现的gem 不幸的是,它基本上在每个包含用户数据的表上都失败了,并且出现了某种例外 PG::Error: ERROR: invalid byte sequence for encoding "UTF8": 0xed2020 (Sequel::DatabaseError) 每个表中的无效字符不同,但例外情况相同 这不是与其他PG::Error:Error:invalid byte sequence for encoding问题的重复

我一直在尝试将我的MySQL迁移到Postgres,从我发现的gem

不幸的是,它基本上在每个包含用户数据的表上都失败了,并且出现了某种例外

PG::Error: ERROR:  invalid byte  sequence for encoding "UTF8": 0xed2020 (Sequel::DatabaseError) 
每个表中的无效字符不同,但例外情况相同

这不是与其他
PG::Error:Error:invalid byte sequence for encoding
问题的重复,因为每个问题都提到使用
Iconv.Iconv(“UTF8…”,content)
强制编码。但我不能这样做,因为我正在使用taps进行导入。

还有一点值得注意的是,我试着做了
mysqldump--compatible=postgres
,但当我尝试将它导入postgres时,每次查询都失败了


我正在使用MySQL 5.1.63和PostgreSQL 9.1.4。

您可以尝试使用SQL\u ASCII编码而不是UTF8来创建PostgreSQL数据库,看看这是否能解决问题

基本上,您的问题似乎是MySQL数据库中有非UTF8编码的文本,您正试图将其导入到使用UTF8编码的PostgreSQL数据库中。如果您真的想让PostgreSQL数据库保持UTF8编码,那么在尝试插入之前,您需要将MySQL中使用的任何编码转换为UTF8

假设问题在数据库级别。如果问题出在ruby级别,您可以尝试使用ruby 1.8(如果您使用的是ruby 1.9),看看这是否会有所不同。

请参阅此问题:

启动taps服务器时,添加显式utf-8编码设置应有助于:

taps服务器mysql://user:password@主机/dbname?编码=utf8 httpuser httpass

以服务器身份运行服务器时传递编码-点击服务器mysql://root:root@localhost/tco?编码=UTF8根