`
Jarymin
  • 浏览: 66916 次
  • 性别: Icon_minigender_1
  • 来自: Mars
社区版块
存档分类
最新评论

Python环境编码与MySQL中文编码操作

阅读更多
经过30个小时的coding,终于解决了编码问题.现在把过程和体会记录下来:P</br>
MySQL 数据库方面:</br>
数据库的创建支持UTF8:
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
很多时候,默认的会选择COLLATE utf8_general_ci,这个对中文支持不好.我就是错在这里了。
Python 编码方面:
1指定文件编码是必须的:
#-*-coding:utf-8-*-
</br>
2某些环境下可以使用这个:</br>
reload(sys);sys.setdefaultencoding('utf-8')
</br>
3python的字符串分为"unicode"和"str"</br>
-1  str      是指带有编码的字符串
-2  unicode  是指不带有编码的字符串
这两个概念的相互转换是这样进行的:
str ------>   unicode --------> str
   decode             encode
   解码                    编码

举个最简单的例子:

引用
>>> a = '中' >>> a '\xd6\xd0' >>> b = u'中' >>> b
u'\u4e2d' [color=red][b]即保存'中'的gbk值做为b[/b]
</br>
根据上面的描述,b应该是不进行编码的a的值(反正a就是b带有gbk编码的值)
于是,我们可以得到
>>> a.decode( 'gbk' )
u'\u4e2d'

同样也可以得到
>>> b.encode( 'gbk' )
'\xd6\xd0'

所以一般的
xxx.decode('gbk').encode('utf-8')

4.MySQLdb操作</br>
conn=MySQLdb.connect(host,usr,pwd,db,charset='utf8')


</br>
PHP读取操作:</br>
<?php
$conn=mysql_connect($hostname='127.0.0.1',$username='root',$password='');
mysql_select_db('text');
mysql_query("set names 'utf8'");
$sql='select text from text where id = 1';
$result=mysql_query($sql,$conn);
while ($row = mysql_fetch_assoc($result)){
 print $row['text'];
}
?>


更多可以参考:
http://www.blogjava.net/vulcan/articles/160978.html
http://www.yuanma.org/data/2006/0907/article_1476.htm
分享到:
评论

相关推荐

    python读取txt文件将数据导入mysql数据库

    在测试的时候,需要造模拟数据,或者是将生产环境的数据导出到测试环境中去,本文记录通过python读取txt文件,并将数据导入mysql数据库 1、示例代码: import pymysql # 打开数据库连接 conn = pymysql.connect(host...

    基于Python+HTML+MySQL的图书借阅管理系统.zip

    操作系统库:os 5.3编码方式 前端网页:GBK 服务器端:GBK 数据库:UTF-8 5.4运行环境 服务器:Windows7 SP1旗舰版 + Python2.7 前端:Opera浏览器 34.0(Chrome内核) 数据库:MySQL Server 5.5...

    python查询mysql中文乱码问题

    python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 — 可能情况: 1.mysql数据库各项没有设置编码,默认为’latin’ 2.使用MySQL.connect的时候没有设置默认编码 3.没有设置python的编码,python2.7默认为’...

    mysql数据定时导入的python编码

    用python实现mysql的数据定时导入导出,删除表,修改表名等

    解决python2.7 查询mysql时出现中文乱码

    python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 — 可能情况: 1.mysql数据库各项没有设置编码,默认为’latin’ 2.使用MySQL.connect的时候没有设置默认编码 3.没有设置python的编码,python2.7默认为...

    Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法

    python文件读写并使用mysql批量插入示例分享(python操作mysql)python3 pandas 读取MySQL数据和插入的实例Python实现生成随机数据插入mysql数据库的方法Python MySQLdb 使用utf-8 编码插入中文数据问题python读取word...

    基于python+django+mysql的超市管理系统源码+项目说明(计算机毕设).zip

    基于python+django+mysql的超市管理系统源码+项目说明(计算机毕设).zip # demo-django-supermarket ## 环境配置 (Ubuntu 18.04) - Ubuntu 18.04 - python3.7 [升级3.7]...

    基于python+Java+MySQL的大学排行数据可视化分析【附源码】

    本文研究内容主要来源于高校数据管理中的信息化需求,研究成果对高校的数据管理...在开发本系统的过程中,根据当前企业数据管理的实际发展情况,采用Eclipse开发环境,使用Java语言进行编码,数据库方面使用的是MySQL。

    python php javaq dotnet ios 编码开发规范ORACLE mysql数据库设计命名规范合集(9份)

    DotNet编程规范3.5.doc iOS开发编码规范.doc ...MYSQL数据库设计规范.docx ORACLE数据库命名编码规范.doc ORACLE数据库设计规范.doc Oracle数据库设计规范建议.doc php编码规范.docx Python开发规范.docx

    Python 爬虫,实时存储到mysql,(注意调整mysql编码),并在前端展示。页面展示需要为html格式,cn.zip

    Python 爬虫,实时存储到mysql,(注意调整mysql编码),并在前端展示。页面展示需要为html格式,cn

    python操作mysql代码总结

    python操作mysql步骤 import pymysql (1) 链接mysql数据库 db = pymysql.connect(主机名,用户名,密码,数据库名) (2) 设置字符编码 db.set_charset(‘utf8’) (3) 创建游标对象 cursor = db.cursor() (4) 准备sql...

    MySQL 5.1参考手册中文版

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL ...

    基于python酒店管理系统设计与实现.zip(论文+项目源码)

    1.4 开发环境 1 2 需求分析 3 2.1 系统需求分析 3 2.2 数据字典 4 3 概念结构设计 12 3.1 概念结构 12 3.2 主要任务 12 3.3 基本属性 12 3.4 联系 12 3.5 E-R图 13 4 逻辑结构设计 15 4.1 逻辑结构 15 4.2 关系模式 ...

    geohash算法mysql版代码

    网上有很多geohash算法的实现,都是基于java或者php代码实现的,没有sql实现的版本,这里使用mysql简单实现了这个算法

    mysql5.1中文手册

    在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装...

    python基础学习笔记整理

    2.1.5、字符编码与文件操作 2.1.6、可迭代对象、迭代器、生成器 2.2、封装 2.2.1、面向对象编程 2.2.2、类的继承与派生 2.2.3、封装、反射、单例、元类 2.2.4、模块编程(工具类) 2.3、网络编程 2.4、并发编程 2.5...

    python sqlobject(mysql)中文乱码解决方法

    UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in ...Python mysql 中文乱码 的解决方法,有需要的朋友不妨看看。 先来看一段代码:复制代码 代码如下:import MySQLdb db_user = “tiger”

    Python MySQLdb 使用utf-8 编码插入中文数据问题

    第一个问题:插入中文失败  这个是由于字符编码问题引起的。MySQL安装时我已经设置为utf8编码,表也是使用utf8编码建立。程序中只要在开头写好#-*- coding: utf-8 -*-,并在设定连接字符串时候写清使用utf8就可以了...

    python模块

    * sys:sys模块包含了跟python解析器和环境相关的变量和函数。 * 其他: atexit,gc,inspect,marshal,traceback,types,warnings,weakref。 2)数学 * decimal:python中的float使用双精度的二进制浮点编码来...

    MYSQL中文手册

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL...

Global site tag (gtag.js) - Google Analytics