我有一个包含中文字符的源文件。在将该文件加载到Postgres DB的表中后,所有字符都乱码了,我看不到中文字符。Postgres DB上的编码是UTF-8。我在本地的mac上使用psql实用程序来检查输出。源文件是使用mysqldump从mySql数据库生成的,并且只包含insert语句。
INSERT INTO "trg_tbl" ("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col7",
"col8", "col9", "col10", "col11", "col12", "col13", "col14",
"col15", "col16", "col17", "col18", "col19", "col20", "col21",
"col22", "col23", "col24", "col25", "col26", "col27", "col28",
"col29", "col30", "col31", "col32", "col33")
VALUES ( 1, 1, '与é<U+009D>žç½‘_首页&频é<U+0081>“页顶部广告ä½<U+008D>(946×90)',
'通æ <U+008F>广告(Leaderboard Banner)',
0,3,'',946,90,'','','','',0,'f',0,'',NULL,NULL,NULL,NULL,NULL,
'2011-08-19 07:29:56',0,0,0,'',NULL,0,NULL,'CPM',NULL,NULL,0);我能做些什么来解决这个问题?
发布于 2015-08-28 12:22:28
在生成该SQL语句之前,文本已被损坏。您可能希望文本以与开头,而不是以"Mojibake“版本开头:与。我建议您修复转储以生成utf8字符或十六进制。那么负载就可以工作了,或者可能有更多的地方可以指定utf8,比如SET NAMES或等效的地方。
此外,对于中文,在MySQL中CHARACTER SET utf8mb4是首选。
é<U+009D>ž乱七八糟,我不想弄清楚第二个字符。
https://stackoverflow.com/questions/31888605
复制相似问题