Python写MySQL数据库乱码

 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/

时间: 2024-11-05 21:59:36

Python写MySQL数据库乱码的相关文章

Python连接mysql数据库

 首先你要做的还是下载相应的模块并且安装啦,下载地址自己搜,网上有很多,安装的话也很好办,安装之后python的安装目录下的Lib文件夹下的site-packages文件夹下的MySQLdb文件夹,这之中存放的便是该模块的定义.准备工作做好之后我们需要在源码中import MySQLdb 数据库的连接: 模块引入之后我们就需要和数据库进行连接了,实例代码如下: db = MySQLdb.connect("localhost","root","123456&

python使用mysql数据库

一,安装mysql   如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server  >>Sudo apt-get install  mysql-client centOS/redhat &

python操作mysql数据库实现增删改查

Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问Python数据库接口及API查看详细的支持数据库列表. 不同的数据库你需要下载不同的DB API模块,例如你需要

python连接mysql数据库出错,已经试了网上的几种方法,,求助

问题描述 python连接mysql数据库出错,已经试了网上的几种方法,,求助 http://blog.csdn.net/lishan9133/article/details/7024989 之前是按照上面的教程安装了mysqldb模块,可是在实际操作过程中,找不到对应行的代码,所以并没有按照上面的改. 打开数据库连接 db = MySQLdb.connect( host='192.188.80.41', port=3306, user='root', passwd='123456', db='

python使用mysql数据库(转)

参考地址 一,安装mysql   如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server  >>Sudo apt-get install  mysql-client centOS/red

python连接MySQL数据库实例分析

  本文实例讲述了python连接MySQL数据库的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 import MySQLdb conn = MySQLdb.connect(host="localhost", user="root", passwd="123456", db="test") cursor = conn.cursor() cursor.execute(&

mysql数据库乱码大家一般怎么解决?

问题描述 mysql数据库乱码大家一般怎么解决? 解决方案 (1)检查你的文件存储编码是否和 meta 声明的一致,假如你的文件是按照 utf-8 编码存储,但是 meta 却声明为 gb2312 ,将导致乱码.解决办法:将页面存储编码和 meta 声明保持一致.用记事本打开文件,"另存为",下面有个选项是"编码",选择和 meta 声明一致的编码方式.(提示:meta 的编码声明要放在 title 标签前面,否则容易导致页面空白.)(2)检查你的数据库连接有没有设

MySQL Connector/NET连接mysql数据库乱码

问题描述 用MySQLConnector/NET连接mysql数据库乱码,凡是字段是中文就会乱码,myini文件已修改成default-character-set=gb2312,连接字符串也改成了default-character-set=gb2312,依然是乱码,请大家指教 解决方案 解决方案二:MYSQL是有这个问题的,修改INI文件都可以解决的一般情况,你找找MYSQL类的问题看下.解决方案三:困扰了好几天的问题,没有人懂吗解决方案四:页面,数据库编码都设一致,如果不行话的话,就用转换的看

python连接MySQL数据库方法详解

python连接mysql教程数据库教程方法详解 host,连接的数据库服务器主机名,默认为本地主机(localhost).           user,连接数据库的用户名,默认为当前用户.         passwd,连接密码,没有默认值.         db,连接的数据库名,没有默认值.         conv,将文字映射到python类型的字典.默认为 mysqldb.converters.conversions         cursorclass,cursor()使用的种类,