PyMySQL Warning: (1366, "Incorrect String Value: '\\xF0\\x9F\\x98\\x8D T...')
I'm attempting to import data (tweets and other twitter text information) into a database using Pandas and MySQL. I received the following error: 166: Warning: (1366, 'Incorrect s
Solution 1:
You need utf8mb4
, not utf8
, when connecting to MySQL and in the columns involved.
More python tips: http://mysql.rjweb.org/doc.php/charcoll#python (Except use utf8mb4
in place of utf8
. UTF-8
should not be changed.)
A more detailed explanation to this can be found here.
Solution 2:
Change the character set and collation properties of the databases, tables, and columns to use utf8mb4 instead of utf8. docs
# For each database:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
# For each table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# For each column:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# (Don’t blindly copy-paste this! The exact statement depends on the column type, maximum length, and other properties. The above line is just an example for a `VARCHAR` column.)
Post a Comment for "PyMySQL Warning: (1366, "Incorrect String Value: '\\xF0\\x9F\\x98\\x8D T...')"