Python 写入 Mysql 乱码问题
[ 2017-04-21 08:59:21 | 作者: admin ]
#encoding=utf-8
import sys
import MySQLdb as mdb
reload(sys)
sys.setdefaultencoding('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;
id INTEGER PRIMARY KEY AUTO_INCREMENT,
prop VARCHAR(50),
...
)
DEFAULT CHARSET = UTF8;
2 . 字段内容来源为文本文件的,确保源文件编码为UTF-8,否则转码
3 . 字段内容来源为程序文件本身的,确保程序文件编码为UTF-8,否则转码
...
阅读全文…
python字符串和变量相加时出现,coercing to unicode need string or buffer nonetype found python 错误的解决
[ 2017-04-21 08:41:43 | 作者: admin ]
字符串和变量相加出现错误,这是由于类型不对,而导致的
1 我是用 “a”+b这个时候产生的错误,
2 这是由于 ,在 python中 +号是针对两个类型相同的变量,而在上的语句中,python不知道 b这个变量的类型二导致的错误(这一点和java很不一样),用下面的语句可以解决,在变量上加str()函数
3
1 我是用 “a”+b这个时候产生的错误,
2 这是由于 ,在 python中 +号是针对两个类型相同的变量,而在上的语句中,python不知道 b这个变量的类型二导致的错误(这一点和java很不一样),用下面的语句可以解决,在变量上加str()函数
3
print('sex:'+sex) #错误
print('sex:'+str(sex)) #正确
print('sex:'+str(sex)) #正确
keyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法
[ 2017-04-21 08:37:53 | 作者: admin ]
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的值
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