接上一篇文章,在解决了mysql+flask环境配置问题之后,往数据库存中文字符串会报1366错误,提示不正确的字符。继而发现默认的mysql采用了Latin1字符集,这种编码是不支持中文的。
如果想支持中文的话,需要设置一下mysql字符集。
使用utf-8编码是合适的,它支持了我们见过的绝大多数语言。思路如下:
一、关闭mysql服务
二、sudo gedit /etc/mysql/
my.cnf 使用管理员权限编辑配置文件,在其中添加以下内容并保存(更新:生产服务器上也许没有gedit工具,使用vi更合适,它的操作需要查阅资料)
[mysqld]
character_set_server = utf8
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
三、重启mysql服务
四、此时的数据库已经默认使用utf-8字符集,但你之前创建的数据库还是Latin1字符集,快速的办法是删除之前的数据库,重新创建一个新的,此时数据库会默认使用utf-8字符集。
五、测试一下,中文也可以存进数据库了!
参考文章:http://ju.outofmemory.cn/entry/169992