PythonDjango:在admin中显示特殊字符,但不在我的站点上?
使用管理员: 我可以这样放置字符:PythonDjango:在admin中显示特殊字符,但不在我的站点上?,python,mysql,django,unicode,utf-8,Python,Mysql,Django,Unicode,Utf 8,使用管理员: 我可以这样放置字符:«æšʩЖあ☃»输入文本字段。 这些字符将在管理员侧栏上正确显示为“最近的操作” 这告诉我,django以某种方式查询我的数据库,在那里这些字符被正确存储,然后被正确表示 使用Views.py 如果我在views.py中执行类似操作: var = '«æšʩЖあ☃»' render_to_response( ... bla bla bla {'var':var} .. bla bla...) 它正确地显示在我的网页上 但是 在我的django应用程序中,我有一
«æšʩЖあ☃»
输入文本字段。
这些字符将在管理员侧栏上正确显示为“最近的操作”
这告诉我,django以某种方式查询我的数据库,在那里这些字符被正确存储,然后被正确表示
使用Views.py
如果我在views.py中执行类似操作:
var = '«æšʩЖあ☃»'
render_to_response( ... bla bla bla
{'var':var} .. bla bla...)
它正确地显示在我的网页上
但是
在我的django应用程序中,我有一些手动连接到数据库,编写方式如下:
myscript.py
con = mdb.connect('mysql.server','name','password','mydb')
cur = con.cursor(mdb.cursors.DictCursor)
cur.execute(
"""SELECT * FROM swimsets_swimset"""
)
container = cur.fetchone
myquery = container['column-name']
mylist.append(myquery)
var = myscript.myfunction() # returns the mylist shown above
render_to_response(...{'var':var}...)
视图.py
con = mdb.connect('mysql.server','name','password','mydb')
cur = con.cursor(mdb.cursors.DictCursor)
cur.execute(
"""SELECT * FROM swimsets_swimset"""
)
container = cur.fetchone
myquery = container['column-name']
mylist.append(myquery)
var = myscript.myfunction() # returns the mylist shown above
render_to_response(...{'var':var}...)
但是,它会在页面上将列表显示为[\x8890\x923\etc\1313\23x\etc]
然后,如果我打印列表中的每一项,则完全不显示任何内容
我所尝试的:
添加:con=mdb.connect('mysql.server','name','password','mydb',use\u unicode=True,charset='utf8')
添加:#-*-编码:utf-8-*-
(到视图和myscript.py)
添加:默认字符集='UTF-8'(到settings.py)
我读过无数的书堆和大量的文档,但我还是没能读懂。谢谢,谢谢。
如果我这样做:
变量解码('iso-8859-1')。编码('utf-8')
它似乎显示了一些奇怪的字符,但并不是真正的修复。我怀疑django是否能够在管理侧面板中正确显示各种unicode
谢谢好吧,我不想成为那个回答自己问题的人,但这一问题已经让我停滞不前好几天了,我甚至还有一堆问题,我在没有回答后删除了。我对这个问题更清楚了,希望能得到更好的帮助,但相反,我变得足够清楚,自己调试它 使Django在网页上显示特殊字符而不是\x1231\d2314的全部工作是: 添加:
use\u unicode=True,charset='utf8
到con=mdb.connect('mysql.server','name','password','mydb',use\u unicode=True,charset='utf8')
添加:#-*-编码:utf-8-*-
(到视图和myscript.py)添加:默认字符集='utf-8'
(到settings.py)
最后,将unicode(var)
添加到myscript.py,该myscript.py手动连接到数据库并将查询数据加载到var中