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

时间:2021-05-22 06:53:49

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'

本文出自 “某人说我技术宅” 博客,请务必保留此出处http://1992mrwang.blog.51cto.com/3265935/1123023