Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PythonDjango:在admin中显示特殊字符,但不在我的站点上?_Python_Mysql_Django_Unicode_Utf 8 - Fatal编程技术网

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中