Crossin的编程教室
标题:
python flask SQLSERVER2008
[打印本页]
作者:
emerson2046
时间:
2021-10-18 14:54
标题:
python flask SQLSERVER2008
本帖最后由 emerson2046 于 2021-10-18 15:00 编辑
说明:1.从数据库中查询到的内容返回到web页面上。
2.SQLSERVER2008用得编码是gbk
3.python程序链接数据库的时候用得编码是utf-8
4.从数据库取出的字段就是乱码
@app.route
(
'/date'
)
def
data_func
():
submit_value
= request.args.get(
'date'
)
# submit
是
string
conn = pymssql.connect(
"192.168.102.155"
,
'his'
,
'xxwlzx8y'
,
'xhlisdb_tem'
,
charset
=
'utf8'
)
if
conn:
cursor = conn.cursor()
cursor.execute(
'
select blood_name from bis_blood_type
'
)
#u=u.decode('gbk').encode('utf-8')
# print (cursor.fetchone())
u = cursor.fetchall()
#u = u.decode('gbk').encode('utf-8')
print
(
str
(u[
0
]).encode(
'utf-8'
).decode(
'utf-8'
))
return
render_template(
'form.html'
,
u
=u)
请大家帮助解决下!感谢
作者:
crossin先生
时间:
2021-10-18 16:32
1. 既然你数据库设置的gbk,连接数据库也应该用gbk
2. 如果设置成gbk依然不行,你可以先通过数据库软件,确认你数据库里的字符是不是正常的。如果软件里的都不对,那就跟你的代码无关,是数据采集时候的问题
3. 你的网页也需要在html的头部设置一下编码为gbk
4. py3的print不需要自己设置编码。如果你需要判断编码,可以用第三方的 chardet 库来检测一下字符的编码类型(字符越长,检测准确率越高)
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5