Python读写MySQL中文字符乱码问题速解

Python读写MySQL中文字符乱码问题速解

Python是目前非常火的一门编程语言,主要在于适合面广,可以用于开发各类应用程序。当然也能用于实现web服务器端程序,在使用Python实现读写MySQL数据库时,很多入门的小白同志都会遇到中文字符乱码的问题。

中文字符乱码的情形:

源码如下:

在遇到问题时,一般我们都会选择百度先查询该问题,于是有了下面的结果:

情况一:没声明字符集

测试无果!!!问题依然存在!

注:在Python3中已经不需要手动声明字符集编码了,默认就 是utf-8编码。

情况二:设置Python与MySQL交互编码集

这个思想与PHP连接MySQL时类似(PHP需要这样做,而我们现在是Python)

呃~~~ 报错了!

话说现在这查到的结果很多都是不正确的,或者由于当前环境本身就不对,胡乱将别人写的MySQL乱码解决方案拿上去确实解决不了。 最后,我们需要来看看官方网站了。

通过官方网站上的API找到了答案,在数据库连接时可以手动设置字符集,这样就能解决中文字符在Python中显示乱码的问题了。

在手动设置字符集时,要特别注意一个细节。 正常我们在调用连接数据库的 connect方法时,是以实际参数形式将数据库名、用户名、密码、服务器地址、端口等信息传到函数中。 但是如果用这种方法继续写 字符集,那后面需要写很多数据才到字符集的位置上。 所以 ,这里的解决办法时,可以直接使用给形式参数赋值的形式传参,就不需要写中间那么多多余的实际参数了,请看下面的代码示例。

结果:

总结,一般我们在遇到问题时都会去查百度,但是由于百度列出的网页也是别人发布,也可能会存在不正确的情况,所以需要多测试。如果不能解决,可以通过官方网站、参考手册等方式也是解决问题的渠道!

本文使用环境:

Python 3.6.5

MySQL 5.5

连接MySQL的python模块 PyMySQL

编辑器 Python IDLE

感谢源码时代教学讲师提供此文章!

本文为原创文章,转载请注明出处!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180531A1FYQ600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券