py-mysql2pgsql
py-mysql2pgsql copied to clipboard
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-8: ordinal not in range(256)
The Chinese comment in the mysql table, an error is reported during the conversion:
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-8: ordinal not in range(256)
How to solve this problem?
Hi, I can't resolve this problem. I find different path for convert data (xml)
Can you provide some minified example demonstrating the problem? MySQL database dump preferred.
Mysql statement to create a table:
CREATE TABLE
auth_user(
user_idbigint(11) NOT NULL AUTO_INCREMENT,
usernamevarchar(20) NOT NULL COMMENT 'ç¨æ·åãç»å½å',
nicknamevarchar(20) NOT NULL COMMENT 'å§å',
passwordvarchar(50) NOT NULL,
create_timetimestamp NULL DEFAULT CURRENT_TIMESTAMP,
update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (
user_id) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='ç¨æ·è¡¨ï¼ç»å½è´¦å·ï¼';
When mysql database has the above table, use py-mysql2pgsql to convert create table statement will be the following errorï¼ comments.append('COMMENT ON TABLE %s is %s;' % (table.name, QuotedString(table.comment).getquoted())) UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-8: ordinal not in range(256)