_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':no such file or directory数据库笔试题及答案Mysql Where 条件使用列别名Every derived table must have its own aliasMySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)utf8mb4 字符集(4字节 UTF-8 Unicode 编码)Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE)right syntax to use near 'USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8' at line 6mysql中delete的表别名使用方法Windows7下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.batMySQL与PostgreSQL比较 哪个数据库更好java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB3' for column 'Content' at row 1service mysqld start MySQL Daemon failed to start.Python Version 2.7 required which was not found in the registry解决python连接mysql,UTF-8乱码问题如何从官网下载MySQL最新版本的安装包?MySQL 如何实现行转列分级输出?Bluemix云端数据库服务使用示例———PHP投票程序Bluemix云端数据库服务ClearDB MySQL使用示例———Python开发投票程序MySQL 数据库简介Windows 安装最新版 MySQLLinux 安装最新版MySQL与 MySQL 建立连接MySQL 创建子账号MySQL 多实例配置MySQL 创建数据库MySQL 删除数据库MySQL 选中数据库MySQL 的数据类型1MySQL 的数据类型2MySQL 设计数据表MySQL 数据表设计规范ALTER 命令修改表MySQL 删除数据表INSERT 插入数据DELETE 删除数据SELECT 查询数据UPDATE 更新数据LIKE 模糊查询WHERE 条件查询UNION 联合查询ORDER BY 排序JOIN 表连接DISTINCT 去重GROUP BY分组聚合函数 AVG、COUNT、SUM聚合函数 MIN、MAX条件判断函数MySQL 的系统函数MySQL 中使用正则表达式MySQL 存储引擎概述

解决python连接mysql,UTF-8乱码问题

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


解决方法:

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

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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bluemix云端数据库服务ClearDB MySQL使用示例———Python投票程序 - 无知人生,记录点滴</title>
3、MySQL 数据库使用的编码


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

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

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

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

SHOW VARIABLES LIKE '%char%';

输出如下图:


最关键的是要看“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 的编码和连接数据库时使用的编码不一致导致的问题。

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