Nov 14, 2008

Python Mysql中文解决方案

1. 安装时设置Mysql字符集为utf8
1)查看字符集支持
show character set;
2)查看字符集相关变量
show variables like "character_set%";
3)设置默认字符集为utf8 (这在Ubuntu上做的, Windows改my.ini)
修改/etc/mysql/my.cnf, 在[client]和[mysqld]下加上: default-character-set=utf8
/etc/init.d/mysql
注: 设置连接mysql时使用utf8,可以在[mysqld]下加上: init_connect='SET NAMES utf8'

2. cmd中查询时,先 set names gbk; 然后就可以正常显示汉字了

这样做是由于Windows cmd中无法显示utf8编码的汉字;如果你在Linux shell中就不需要这条命令了

3. 用MySQLdb:
db = MySQLdb.connect(host = 'localhost',
user = 'wap',
passwd = 'wap',
db = 'wap',
charset = 'utf8')

4. 读取GBK编码的文件
line = f.readline().decode('GBK')
注: 函数 decode( char_set )可以实现 其它编码到 Unicode 的转换
函数 encode( char_set )实现 Unicode 到其它编码方式的转换

5. 程序中使用字符串时,前面加上 u,如:
s = u'hello'

No comments:

Post a Comment

您的评论将使我blog更有动力~