导读:很多朋友问到关于django怎么用中文乱码的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
本文目录一览:
1、django mysql 中文乱码怎么办2、请教各位大神,为什么django下载的zip压缩包文件名中包含中文的就乱码啊?3、django在view返回结果没问题是中文,在模板返回的是unicode编码为什么4、Django 运行开发服务器时报错django mysql 中文乱码怎么办
创建所有.py文件时,编码方式都必须为UTF-8,且所有.py文件的最前面添加 # -*- coding:utf-8 -*-
2、创建所有.html文件时,编码方式也必须为UTF-8,且要添加标签 meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
3、编辑MySQL安装目录下的my.ini配置文件,如果是my-default.ini,可以将其更改为my.ini:
在 [mysqld] 标签下加上三行
default-character-set = utf8
character_set_server = utf8
在 [mysql] 标签下加上一行
default-character-set = utf8
在 [mysql.server]标签下加上一行
default-character-set = utf8
在 [mysqld_safe]标签下加上一行
default-character-set = utf8
在 [client]标签下加上一行
default-character-set = utf8
保存my.ini,然后重新启动MySql服务
进入mysql查看字符集(mysqlshow variables like ‘character_set_%’;)
4、navicat 设置
①数据库属性
请教各位大神,为什么django下载的zip压缩包文件名中包含中文的就乱码啊?
from django.utils.http import urlquote
file_name = u"uoload/20160314/是的发生.txt"
'''''''
response['Content-Disposition'] = 'attachment; filename="' + urlquote(name) +'"'
django在view返回结果没问题是中文,在模板返回的是unicode编码为什么
#coding=UTF-8
就可以的,如果还不行,就用纪事本打开文件然后另存为是 选择用UTF-8编码
然后上传
Django的内核是UTF-8的编码方式所以要避免乱码请注意一下几点:
1.数据库中的编码方式要是UTF-8的。
2.代码中View里面的最上面加上
# -*-coding:utf-8 -*-
可以防止模板出现乱码
3.代码中出现中文字符的地方请在本代码文件的最上面加入
# -*-coding:utf-8 -*-
可以避免代码文件出现乱码。
Django 运行开发服务器时报错
原因如下:
1、因代码中的中文注释问题的报错
django项目的.py文件文件中加入了中文注释,经常会因此报错而导致无法运行,究其原因是编码的问题,最后的解决办法是直接在有中文注释的.py文件的顶部加上:# -*-coding:utf-8 -*-
2、运行过程中的中文乱码的报错
(1)首先确保连接的数据库的基础设置是utf-8。
(2)然后确认django项目中的网页头部设置编码为utf-8,网页头部加上代码:meta charset="utf-8"。
(3)最后仍然报错就是因为django项目中我们没有指明编码方式,所以按照默认设置来,而非正常的utf-8。
(4)所以项目最后需要在进行编码操作的地方,或者直接在settings.py中加入:import sys reload(sys) sys.setdefaultencoding('utf-8')。
3、项目配置在debian系统中,FileField字段在admin中因中文文件名上传报错,解决如下:
(1)终端中操作安装locales
(2)重新选择字符编码
(3).空格选择所有zh_开头的字符编码,OK确认下一步,选择中文UTF-8。
(4).debian里需要在~/.bashrc里面最下面加入export LC_ALL=zh_CN.UTF-8或者直接运行export.UTF-8。
(5).最后直接reboot重启服务器,查看系统编码,UTF-8中文生效,locale命令可以直接查看系统编码设置,此时再运行django项目上传中文名文件无误。
结语:以上就是首席CTO笔记为大家整理的关于django怎么用中文乱码的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~