Django 再次是当中字符编码问题
今天使用了bootstrap 当中的一些CSS 对自己的博客项目当中的一些东西进行美化
但是很奇怪的是 当 诸如按钮类的加入 中文字符后 就会提示 UnicodeDecodeError at / 错误
很明显就是字符问题
而最终解决的方案就是 在 settings.py 文件当中加入
ps:百度而来的方法
url:http://hi.baidu.com/kangjun118/item/96a98a0f5c485637a1312d4e
- FILE_CHARSET='gb18030'
- DEFAULT_CHARSET='utf-8'
后解决问题
思考 Django当中出现字符问题的一些总结
1)先是数据库 插入问题 在默认的mysql当中插入中文字符的时候 会报错
解决方式就是修改 其数据库 或数据库当中某张表 或者某个字段成为UTF-8类型的 即可插入
在原先的总结当中就已经介绍了 修改表某列的字符编码方式
这里介绍
在MYSQL的安装目录下修改my.ini文件中的“default-character-set=”为GB2312或者UTF-8,修改这一项之后,会对MYSQL中的数据库全部起作用,如果你为了减少以后不必要的麻烦,你也可以只设置你当前要使用的数据库的编码,如:
- CREATE DATABASE database_name DEFAULT CHARACTER SET utf8
2)然后就是编码 Django 的底层实现使用的是UTF-8字符 所以在程序设计时候 应该尽量使用utf-8 去进行编码 而在开始时可以使用 #coding:utf-8 去声明使用的字符编码
3)Django支持国际化
可以在settings.py 的 MIDDLEWARE_CLASSES 区 进行添加
- 添加
- 'django.middleware.locale.LocaleMiddleware'
- MIDDLEWARE_CLASSES
- 设置中,并确保它在
- 'django.contrib.sessions.middleware.SessionMiddleware' 之后
刷新后会根据你的浏览器环境进行转换使用语言
打开你PROJECT下的settings.py,你可以看到:
"LANGUAGE_CODE =''"默认的是en-us,修改为zh-CN 这样也可以
4)在HTML 模版文件当中 设置编码格式 在 <head></head>区域添加
- <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://blog.51cto.com/1992mrwang/1123023