django乱码问题

折腾了两天,终于解决了。返回json中文乱码 python

在网上那个找了不少方法,试了都比行,无心间看了一个方法。ok mysql

1.就是mysql数据库自己编码的问题。有两个设置: sql

在mysql命令行环境输入:show variables like "%char%"

数据库

mysql5.5以上默认是这个样子的,不须要更改,一般就用utf8.若是你是别的编码能够改一下。网上特别多。 django

2.就是你建立的数据库,我用的mysql workbench6.3ce,选择utf8-deault collation认证就能够的. json

查看你表的编码用utf8. 编码

上面两种是因为数据库方面的问题一块儿的乱码。 spa

3.若是你在views中直接返回中文的,他会提示错误 命令行

SyntaxError: Non-ASCII character '\xe7' views.py on line 27, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details code

这是由于python默认编码是ascii,因此你要在文件第一行添加一句话:#coding=utf-8。记住是第一行。

4.若是你返回的是json,用的是simplejson.dumps(obj,ensure_ascii=False)把红色的加上。

5.网上有说 

FILE_CHARSET = 'utf-8'

DEFAULT_CHARSET = 'utf-8'

这俩个不用设置的,django默认就是这两个。

6.我用的就是下面这一种。

data.decode('utf8').encode('gbk')

data就是你的数据。

根据本身的状况一个一个试试。

相关文章
相关标签/搜索