浏览模式: 普通 | 列表
4月, 2017 | 1

Python 写入 Mysql 乱码问题

[ 2017-04-21 08:59:21 | 作者: admin ]
#encoding=utf-8
  
import sys
import MySQLdb as mdb
  
reload(sys)
sys.setdefaultencoding('utf-8')
 

确保以下几点,就不会有乱码问题,字符集统一采用UTF-8:
1 . 表的默认字符集是否为UTF-8,使用类似如下的SQL语句:
CREATE TABLE IF NOT EXISTS name(
         id INTEGER PRIMARY KEY AUTO_INCREMENT,
         prop VARCHAR(50),
         ...
)
DEFAULT CHARSET = UTF8;

2 . 字段内容来源为文本文件的,确保源文件编码为UTF-8,否则转码
3 . 字段内容来源为程序文件本身的,确保程序文件编码为UTF-8,否则转码
...

阅读全文…
字符串和变量相加出现错误,这是由于类型不对,而导致的

               1 我是用 “a”+b这个时候产生的错误,

               2 这是由于 ,在 python中 +号是针对两个类型相同的变量,而在上的语句中,python不知道 b这个变量的类型二导致的错误(这一点和java很不一样),用下面的语句可以解决,在变量上加str()函数

               3
print('sex:'+sex) #错误
print('sex:'+str(sex)) #正确
keyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法,它接受一个key和一个默认值,这个默认值只有key不存在的使用返回,存在则只接访问key的值
a={'a':'b','123':345}
try:
         a['345']#报错,产生keyerror异常
except KeyError:
         print 'catch an exception'
print a.get('345','not exist')#不存在key为345的值,只接返回字符串not exist
print a.get('a','not exist')#存在key为a的值,只接返回key为a的值
1