MySQL中怎么设置默认编码

MySQL中怎么设置默认编码,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联建站主营白山网站建设的网络公司,主营网站建设方案,app开发定制,白山h5小程序设计搭建,白山网站营销推广欢迎白山等地区企业咨询

最近在MacOS下用django框架做web开发,于是用MacPorts安装了MySQL5。但是测试时django的测试框架会报错,原因是UTF8数据无法插入。

我们知道,MySQL安装完成后默认编码为latin1,并不适合中文应用。因此我们通常用下面的SQL语句创建:

CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;而django测试框架创建测试数据库时并不会像这样指定编码,因此创建的数据库编码为latin1,导致加载UTF8数据时就会出错。

貌似django并没有提供创建数据库时指定编码的选项,因此只能修改MySQL服务器的默认编码设置。下面以MacPorts下的5为例说一下设置方法。

首先复制一份my.cnf到 /opt/local/etc/mysql5:

$ cd /opt/local/etc/mysql5/
$ sudo cp /opt/local/share/mysql5/mysql/my-small.cnf my.cnf
然后编辑my.cnf,在[mysqld]节添加以下两行:

$ sudo vi my.cnf
[mysqld]
...
collation_server = utf8_general_ci
character_set_server = utf8保存退出后重启mysqld:

$ sudo /opt/local/bin/mysqladmin5 -u root shutdown
$ sudo /opt/local/bin/mysqld_safe5 &这样就可以了。确认一下:

mysql> show variables like collation_server;
+------------------+-----------------+
| Variable_name    | Value           |
+------------------+-----------------+
| collation_server | utf8_general_ci |
+------------------+-----------------+
1 row in set (0.00 sec)

mysql> show variables like character_set_server;
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| character_set_server | utf8  |
+----------------------+-------+
1 row in set (0.00 sec)

charlee

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


本文标题:MySQL中怎么设置默认编码
文章来源:http://hbruida.cn/article/ggccpe.html