Django 模版当中使用中文 UnicodeDecodeError at / 问题

  1. 云栖社区>
  2. 博客>
  3. 正文

Django 模版当中使用中文 UnicodeDecodeError at / 问题

技术小牛人 2017-11-05 12:46:00 浏览815
展开阅读全文

Django 再次是当中字符编码问题

今天使用了bootstrap 当中的一些CSS 对自己的博客项目当中的一些东西进行美化

但是很奇怪的是 当 诸如按钮类的加入 中文字符后 就会提示 UnicodeDecodeError at / 错误

很明显就是字符问题

而最终解决的方案就是 在 settings.py 文件当中加入

ps:百度而来的方法

url:http://hi.baidu.com/kangjun118/item/96a98a0f5c485637a1312d4e

 


  1. FILE_CHARSET='gb18030' 
  2. DEFAULT_CHARSET='utf-8' 

后解决问题

思考 Django当中出现字符问题的一些总结

1)先是数据库 插入问题 在默认的mysql当中插入中文字符的时候 会报错

解决方式就是修改 其数据库 或数据库当中某张表 或者某个字段成为UTF-8类型的 即可插入

在原先的总结当中就已经介绍了 修改表某列的字符编码方式

这里介绍

在MYSQL的安装目录下修改my.ini文件中的“default-character-set=”为GB2312或者UTF-8,修改这一项之后,会对MYSQL中的数据库全部起作用,如果你为了减少以后不必要的麻烦,你也可以只设置你当前要使用的数据库的编码,如:


  1. CREATE DATABASE database_name DEFAULT CHARACTER SET utf8 

 

2)然后就是编码 Django 的底层实现使用的是UTF-8字符 所以在程序设计时候 应该尽量使用utf-8 去进行编码 而在开始时可以使用 #coding:utf-8 去声明使用的字符编码
 

3)Django支持国际化

可以在settings.py 的 MIDDLEWARE_CLASSES 区 进行添加


  1. 添加  
  2. 'django.middleware.locale.LocaleMiddleware' 
  3. MIDDLEWARE_CLASSES 
  4. 设置中,并确保它在 
  5. 'django.contrib.sessions.middleware.SessionMiddleware'  之后 

刷新后会根据你的浏览器环境进行转换使用语言

打开你PROJECT下的settings.py,你可以看到:

"LANGUAGE_CODE =''"默认的是en-us,修改为zh-CN  这样也可以

 

4)在HTML 模版文件当中 设置编码格式 在 <head></head>区域添加


  1. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 

 

至于先前 设置如下两个参数 由于还没有研究深入 所以还未了解其作用,未完待续


  • FILE_CHARSET='gb18030' 
  • DEFAULT_CHARSET='utf-8'
  •  

 在linux 当中pycharm开发时候发现模板不能使用中文字  于是 将前面两个参数都改成utf-8后解决


  • FILE_CHARSET='gb18030' 
  • DEFAULT_CHARSET='utf-8'
本文转自 拖鞋崽 51CTO博客,原文链接:
http://blog.51cto.com/1992mrwang/1123023

网友评论

登录后评论
0/500
评论
技术小牛人
+ 关注