Django的中文编码问题
Django真的很强大,用了很短的时间就搭了一个简易的Blog,问题又来了,中文内容存入Mysql中是乱码。
经查,Django默认是采用UTF-8编码的,相关文件的格式也都是UTF-8的,问题应该出在Mysql数据库上面。
我是在Mac OS10.6.2上装的64位mysql,默认编码,没改过
进入mysql,通过status命令查看,果然,编码是Latin1
将其改为UTF-8即可解决
单独修改某个数据库可用alter database testdb character set utf8;
统一修改的话,需要在/usr/local/mysql/support-files下[目录因系统而异],找到下列文件
my-huge.cnf
my-large.cnf
my-small.cnf
...
这是配置文件模板,copy到/etc/my.cnf,就可以使用这个配置文件,我用了small文件。
在[mysqld]和[client]两个标签下都加入 default_character_set = utf8
重新启动mysql,status结果如下:
mysql> status
--------------
mysql Ver 14.14 Distrib 5.1.44, for apple-darwin10.2.0 (i386) using readline 5.1
Connection id: 43
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.44 MySQL Community Server (GPL)
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 4 min 20 sec
Threads: 1 Questions: 238 Slow queries: 0 Opens: 50 Flush tables: 1 Open tables: 4 Queries per second avg: 0.61
--------------
身边越来越多的人开始使用Mac,经常被问道Mac的使用问题和技术问题。遂决定,每天发布一则#Mac技巧#。同时发布于微博和微信公众账号“Mac技巧”,微信号sagacity-mac,有微信账号的童鞋扫描下图片或搜索微信号即可