接上一篇文章,在解决了mysql+flask环境配置问题之后,往数据库存中文字符串会报1366错误,提示不正确的字符。继而发现默认的mysql采用了Latin1字符集,这种编码是不支持中文的。
如果想支持中文的话,需要设置一下mysql字符集。
众所周知utf-8是可以的,gbk也没问题,为了可扩展性,选择utf-8编码。思路如下:
一、关闭mysql服务
二、sudo gedit <span class="pln"><span class="pun">/<span class="pln">etc<span class="pun">/<span class="pln">mysql<span class="pun">/<code class="prettyprint"><span class="pln"><span class="kwd">my<span class="pun">.<span class="pln">cnf 使用管理员权限编辑配置文件,在其中添加以下内容并保存(提示:不要图省事用权限指令修改ubuntu系统文件的读写权限,笔者曾将所有系统文件权限都改成了777,虽然可以用图形界面访问系统文件更方便了,但系统坏了......)</span></span></span></span>
[mysqld] character_set_server = utf8 [client] default-character-set = utf8 [mysql] default-character-set = utf8
<span class="com"><span class="pln"><span class="pun"><span class="pln"><span class="com"><span class="pln"><span class="kwd"><span class="pun"><span class="pln"><span class="pun"><span class="kwd"><span class="pln"><span class="pun"><span class="pln"></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
三、重启mysql服务
四、此时的数据库已经默认使用utf-8字符集,但你之前创建的数据库还是Latin1字符集,需要删除之前的数据库,重新创建一个新的,此时数据库会默认使用utf-8字符集。
五、测试一下,中文也可以存进数据库了!
Atas ialah kandungan terperinci MySQL数据库不支持中文的解决办法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!