2012-01-28 104 views
2

我有一個使用UTF-8字符集編碼的數據庫。當我使用shell提示符運行mysql並從表中選擇行時,我可以看到字符正好(Frédéric Bélier)。但是,在運行我的django項目並在瀏覽器中查看頁面時,該字段顯示爲Frédéric Bélier。 HTML頁面作爲UTF-8的字符集元標記。Django和MySQL utf8編碼問題

當在Gedit中打開我的視圖文件(和模板文件)時,我發現字符集也被設置爲UTF-8。但是,當我運行file -i views.py輸出是views.py: text/x-java; charset=us-ascii/ASCII Java program text, with CRLF line terminators

關於什麼可能是錯誤的以及如何解決它的任何建議?

+0

你檢查了你的settings.DEFAULT_CHARSET? – ygneo 2012-01-28 20:45:11

+0

確實添加了「# - * - coding:utf-8 - * - 」改變了什麼? – Kambiz 2012-01-28 21:23:09

+0

Django + MySQL:如何修復Unicode(又名神祕問號) - 標準偏差 - > http://parand.com/say/index.php/2008/06/11/djangomysql-how-to-fix-unicode- aka-mysterious-question-marks/ – Efazati 2012-01-29 06:59:40

回答

1

我不是一個Django的專家,但也許它有事情做了

  1. HTTP標頭或文檔標題

  2. Django的配置。在Python中的字符串是不一定的Unicode(不像.NET爲例)

我的直覺告訴我,2在可能的情況。