python 连接mysql乱码_解决python连接mysql,UTF-8乱码问题-程序员宅基地

技术标签: python 连接mysql乱码  

在测试“Bluemix云端数据库服务ClearDB MySQL使用示例———Python开发投票程序”的程序时,从MySQL中读取的中文输出到网页显示都是问号,如下图:

8cebcdd8867c629cd2108abb4e5dae2b.png

解决方法:

产生乱码问题,通常都是由于几方面的编码不统一导致的,请检查以下编码是否一致:

1、最好统一使用 utf-8 编码,对各种字符集支持的都很好!

2、网页的编码

Bluemix云端数据库服务ClearDB MySQL使用示例———Python投票程序 - 无知人生,记录点滴

3、MySQL 数据库使用的编码

e6b5a0b7ae867ac26f6862ce2e9b751f.png

排序规则保持默认值即可。

这是用的什么数据库管理工具?

MySQL 图形界面管理工具Navicat for MySQL

如果是现有的数据库,我们可以通过以下查询语句查看一下:

SHOW VARIABLES LIKE '%char%';

输出如下图:

552b0c151f28c73fb57a943555620d31.png

最关键的是要看“character_set_server”是否为 utf-8 编码,通常是因为 character_set_server 的编码为 latin1 而产生乱码的原因。

解决方法,执行语句修改:

set character_set_server='utf8';

注意:这里是“utf8”,而不是“utf-8”,中间不需要有减号。

4、Python连接数据库使用的编码

conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test',port=3306)

cur=conn.cursor()

cur.execute('SET NAMES UTF8')

5、Python的默认编码

import sys#提供了许多函数和变量来处理 Python 运行时环境的不同部分.

reload(sys)

sys.setdefaultencoding('utf8')

结束语

将编码都统一之后,乱码的问题应该就解决了,现在很多语言默认编码都是 utf-8 了,

我遇到最多的就是数据库 character_set_server 的编码和连接数据库时使用的编码不一致导致的问题。

如果你还没有解决,请把你遇到的情况告诉我。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42345731/article/details/114923683

智能推荐

android 视图动画遇到的坑_android view有动画时执行invisible-程序员宅基地

文章浏览阅读1.6k次。Android中视图动画使用率越来越少了,很多大神都使用属性动画了。但个人觉得视图动画比属性动画使用起来更简单,所以能用视图动画实现的就不考虑用属性动画。 今天在项目中使用视图动画时,遇到了几个坑,记录下来,供踩到同样坑的同学参考一下~一、平移与缩放冲突 使用视图动画,常使用到动画集合AnimationSet,然后在动画集合中添加平移、绽放,旋转等动画。_android view有动画时执行invisible

Anaconda新手使用教程_anaconda使用教程-程序员宅基地

文章浏览阅读4.6w次,点赞102次,收藏897次。Anaconda使用教程一(新手友好)前言一、python和包以及anaconda的概念关系关于python与包关于anaconda二、Anaconda安装问题对windows三、Anaconda使用问题配置Anaconda源可能出现的错误conda install 仍然出现下载速度慢的错误四、Anaconda创建虚拟环境并使用创建你的第一个环境查看当前conda所有环境激活你的环境在你的环境中用conda或者pip安装包查看环境中现有的包在环境中运行python程序(windows系统)退出当前环境删除环_anaconda使用教程

hdu 3496 二维费用背包_hdu - 3496-程序员宅基地

文章浏览阅读1k次。题意:求在一定l时间内看完n中电影中的m是否可能,若可能则最后快乐度是多少。之前错了好多遍,一直找不到原因,后来在百度上看了很多别人的代码发现只有初始化不同我的初始化: memset(f,0,sizeof(f));别人的: for(int i=0;i for(int j=0;j一开始认为没什么影响,但是苦于一直找不到原因,所以我将自_hdu - 3496

Random、SecurityRandom、Math.random()_securerandom和math.random()-程序员宅基地

文章浏览阅读2k次。下面可以不看,一句话,为了其安全起见,以后我们就用SecurityRandom就好了。JDK中有两个随机数类。一个是PRNG,也就伪随机数类java.util.Random,是采用线性同余算法产生的。另一个是RNG,也就是java.util.Random的子类强随机数java.security.SecureRandom,这是一个SPI类,也就是说具体的算法由Pro..._securerandom和math.random()

npm安装vue报错:npm ERR! code ETIMEDOUT-程序员宅基地

文章浏览阅读8k次,点赞8次,收藏8次。npm安装vue报错npm ERR! code ETIMEDOUT_code etimedout

Linux解决Warning: mysql_connect(): Headers and client library minor version mismatch. 警告_mysql headers:50647-程序员宅基地

文章浏览阅读5k次。这两天用阿里云服务器重新部署网站服务器后,打开某php页面出现了如下警告:Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50547 Library:50631 in /XXX(某某目录)/wp-db.php on line 1520,虽然是警告,但是有的界面会因此打不开,无法..._mysql headers:50647

随便推点

64位 编译 OpenCV 常见错误_m_pi' was not declared in this scope-程序员宅基地

文章浏览阅读3.7k次。编译 OpenCV打开终端进行编译:(-j 是使用 8 个线程进行编译,请根据你的计算机配置合理设置线程数)E:cd E:\opencv_341\opencv_mingw64_buildmingw32-make -j 8mingw32-make install如果 mingw32-make -j 8遇到错误,请看下面的 编译 OpenCV 常见错误,否则执行 mingw32-make..._m_pi' was not declared in this scope

上手指南 | Jetpack Hilt 依赖注入框架_hilt 使用 broadcastreceiver-程序员宅基地

文章浏览阅读2.7k次,点赞5次,收藏6次。Hilt 是 Android 的依赖注入库,是基于 Dagger 。可以说 Hilt 是专门为 Andorid 打造的。_hilt 使用 broadcastreceiver

php 解压安装程序,解压缩各种安装程序包-程序员宅基地

文章浏览阅读97次。解压缩各种安装程序包文:tracky来源:http://bbs.hanzify.org/index.php?showtopic=24638&hl=点击:2578解压缩各种安装程序包1 微软的Installer制作的安装包,后缀一般是msi,mspA 可以用totalcmd 的msiplus插件,可以解压。不可以修改msi。B 可以用WinINSTALL LE 2003,在w..._php软件压缩包安装

ChatGPT-GPT4:提升科研、论文写作与AI绘图效率的新契机_最新chatgpt/gpt4科研技术应用与ai绘图及论文高效写作-程序员宅基地

文章浏览阅读295次。2023年我们进入了AI2.0时代。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车,就有可能被淘汰在这个数字化时代,如何能高效地处理文本、文献查阅、PPT编辑、编程、绘图和论文写作已经成为您成功的关键。而 ChatGPT,作为一种强大的自然语言处理模型,具备显著优势,能够帮助您在各个领域取得突破。ChatGPT 在论文写作与编程方面也具备强大的能力。_最新chatgpt/gpt4科研技术应用与ai绘图及论文高效写作

Nginx---静态资源处理_nginx静态资源释放-程序员宅基地

文章浏览阅读2.5k次。NginxNginx服务器基础配置实例Nginx服务操作的问题Nginx配置成系统服务Nginx命令配置到系统环境Nginx静态资源部署Nginx静态资源概述Nginx静态资源的配置指令listen指令default_server说明server_name指令配置方式一:精确匹配配置方式二:使用通配符配置配置三:使用正则表达式配置匹配执行顺序server_name总结location指令设置请求资源的目录root / aliasindex指令error_page指令静态资源优化配置语法sendfile,用来开_nginx静态资源释放

U盘使用TransMac软件格式化之后用不了,已解决!_transmac格式化u盘导致无法读取-程序员宅基地

文章浏览阅读2.9w次,点赞2次,收藏4次。有一天,上网查查Android的知识点(我是初学者),不经意的碰到黑苹果这个概念,因为没用过白苹果,所以有个想折腾的想法,于是从此深入大坑。教程是网上的,是用TransMac格式化的U盘,后面折腾了半天,启动卡在苹果LOGO,生命在于折腾。我不怕。。。。。—___—这个是题外话了。后面因为要用到U盘(不是黑苹果的事了),突然发现U盘用不了了,格式化也不行,用DG也不行(有人说可以),然后网上找..._transmac格式化u盘导致无法读取