今天发现在Django中使用MySQL,进入Admin添加中文字符出现乱码的问题,找到了这样的解决方法:
1. MySQL中设置为utf:
- 终端中用show variables like ‘character%’指令查看,发现
Variable_name | Value |
---|---|
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | latin1 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | latin1 |
character_set_system | utf8 |
- 输入指令:
set character_set_database=utf8;
set character_set_server=utf8;
再次查看发现
Variable_name | Value |
---|---|
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | utf8 |
character_set_system | utf8 |
2. 之后又有报错,在找方法发现还要改Python代码
我在manage.py中加入
reload(sys)
sys.setdefaultencoding('utf8')
成功
但是又发现一个问题
敲代码到时候sys.后面找不到setdefaultencoding这个方法,也goto不到函数的定义,但就是能跑???不知道什么原因,希望有个大神可以解答