以下是我最近写两个小程序时用 MySQLdb 的一些经验,用以解决中文问题。[url=http://www.bsdlife.org/viewtopic.php?id=122]原文。
请大家指教:
再此再总结一下,上面的方法还不够全面:
* 设置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都设置默认的字符集:
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
该设置需要重新启动 MySQL 服务器。启动之后在 mysql 命令行下可以用 'status' 命令查看:
mysql> status
--------------
mysql Ver 14.12 Distrib 5.0.26, for -netbsdelf (i386) using EditLine wrapper
Connection id: 16
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.0.26-log
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 1 hour 7 min 49 sec
* 在创建表的时候,加上 default character='utf8' 这样的语句:
CREATE TABLE IF NOT EXISTS table_name (key, key, key)
VALUES (value, value, value)
DEFAULT CHARSET='utf8'
* 在执行 MYSQL 语句时先执行 'SET NAMES 'utf8'' 语句:
SET NAMES 'utf8'
这样基本就能搞定中文问题了。
[ 本帖最后由 MichaelBibby 于 2007-3-6 17:50 编辑 ]
congli 回复于:2007-03-06 16:36:20
学习^_^
MichaelBibby 回复于:2007-03-06 17:51:26
更正一下。
原文:
引用:
* 在创建表的时候,加上 default character='utf8' 这样的语句:
CREATE TABLE IF NOT EXISTS table_name (key, key, key)
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 中文 问题 操作 解决 总结 utf8 key value 语句 设置 |
注册
个人空间
