Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Python 试图在MySQL数据库中保存特殊字符_Python_Mysql_Python 3.x_Pymysql - Fatal编程技术网

Python 试图在MySQL数据库中保存特殊字符

Python 试图在MySQL数据库中保存特殊字符,python,mysql,python-3.x,pymysql,Python,Mysql,Python 3.x,Pymysql,我有一个字符串,看起来像这个首先,您需要确保表列具有正确的字符集设置。如果是“latin1”,则无法存储包含Unicode字符的内容 您可以使用以下查询来确定列字符集: SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='your_database_name' AND TABLE_NAME='your_table_name' AND COLUMN_NAME='description' 如果要

我有一个字符串,看起来像这个
首先,您需要确保表列具有正确的字符集设置。如果是“latin1”,则无法存储包含Unicode字符的内容

您可以使用以下查询来确定列字符集:

SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='your_database_name' AND TABLE_NAME='your_table_name' AND COLUMN_NAME='description'
如果要更改列字符集,请遵循Mysql文档

此外,您需要确保为Mysql连接正确配置了字符集。引自Mysql文档:

字符集问题不仅影响数据存储,还影响 客户端程序和MySQL服务器之间的通信。如果你 希望客户端程序使用 字符集与默认值不同,您需要指出 哪一个。例如,要使用utf8 Unicode字符集,请发出 连接到服务器后,请执行以下语句:

SET NAMES 'utf8';

一旦字符集设置正确,您将能够执行sql语句。不需要在Python端进行编码/解码。这用于不同的目的。

第一个查询给出了
utf8
I init和pyMysql以及
connect=pyMysql.connect(host=constants.host,user=constants.USERNAME,password=constants.password,db=constants.DATABASE,charset='utf8',port=constants.port,cursorclass=pymysql.cursors.DictCursor)
所以实际上不应该有问题吗?@PrimuS刚刚注意到有一个表情符号。列字符集需要utf8mb4。utf8不够。请参阅