Python写MySQL数据库乱码

    xiaoxiao2022-07-14  150

     MySQL数据库的默认编码已经设置为utf8了,在python程序内也已经把字符串的编码转换成了utf8,可是通过MySQLdb插入数据库后,显示的还是一堆乱码。  后来发现是建立数据库连接时的问题:

    conn = MySQLdb.connection(host="localhost", user="root", passwd="password", db="test", use_unicode=True, charset="utf8")

      之前在获得数据库连接时,没有写后面红色部分两个参数,以为数据库默认编码和字符串编码都为utf8,就能正确插入为utf8的字符串了。  添加了红色部分的参数后,正常插入,问题解决。  P.S. 在插入数据库时一定要注意字符串中的单引号,因为MySQL数据库中单引号为特殊字符,若原始数据中含有单引号,必须连写两个才能正确插入。如 Aaron's book, 插入数据库时应写为 Aaron''s book

    最新内容请见作者的GitHub页:http://qaseven.github.io/

    最新回复(0)