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://1992mrwang.blog.51cto.com/3265935/1123023