Django+MySQL下中文问题

由于开发环境一直使用sqlite,没有遇到中文字符的储存问题,所以一直没有注意到这个问题.但是将程序迁移到服务器连接MySQL时遇到了中文储存的问题,下面列出解决方法.

>>>mysql -uroot -p以root身份进入mysql客户端,

show variables like 'character%';查看数据库编码

| character_set_database   | latin1                     |
| character_set_server     | latin1                     |

可以看到如上结果,退出mysql.
找到[client]添加default-character-set=utf8
找到[mysqld]添加character-set-server = utf8

  • 注 网上有的解决办法是在[mysqld]中添加default-character-set=utf8这个方法在新版本的mysql中将不成功.
    重启mysql服务
    再进入mysql运行show variables like 'character%';查看数据库编码

    | character_set_database   | utf8                       |
    | character_set_server     | utf8                       |
    

问题解决

对于数据库中已有数据,可以直接修改表的编码方式解决问题.
alter database %databaseName character set utf8;
alter database %databaseName collate utf8_general_ci;

推荐阅读更多精彩内容

  • 1、基本命令 创建数据库 创建数据库并设置编码格式 创建数据表 创建数据表并设置表编码格式 插入数据 查询数据 更...
    CoderLJW阅读 1,441评论 0 1
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 3,695评论 0 19
  • 前段时间公司内部博客上凯哥分享了一篇关于mysql字符集编码的文章,之前我对mysql字符集一块基本没有深究过,看...
    __七把刀__阅读 4,883评论 14 18
  • 如题目所述,这里说的是我如何提升口语的。因为在最近几年中,越来越多的人会问我:你是学英语专业的吗? 确定地说:我不...
    杨兰Rebecca阅读 1,527评论 4 26
  • 我有一壶酒,足以慰风尘。醉里经年少,乍醒华发生。沧浪星野阔,月涌浮骚声。我恨鸿翼轻,难渡天下人。 他日若遂凌云志敢...
    Lamsiven阅读 114评论 0 0
  • 如果你在错误的道路上,奔跑也没有用。 ――沃伦.巴菲特 股神巴菲特给我的感觉就...
    点婰心阅读 184评论 0 2
  • 以前我是很讨厌微信里做微商的,整天发朋友圈,把整个朋友圈都给占满了,觉得就这么发朋友圈就会有人买吗?后来慢慢地从身...
    王守黑阅读 142评论 0 0