python中 列表编码转换求助
默认用的编码是utf-8
但是列表怎么转成 GBK编码。 本帖最后由 jackz007 于 2020-1-10 12:41 编辑
列表和 UTF-8、GBK 编码有什么必然联系?把你的样例展示出来。
str1 = '鱼C论坛'
编码:
str1_UTF8 = str1 . encode("UTF-8")
str1_GBK= str1 . encode("GBK")
解码:
str = str1_UTF8 . decode("UTF-8" , "strict")
str = str1_GBK. decode("GBK" , "strict") jackz007 发表于 2020-1-10 12:29
列表和 UTF-8、GBK 编码有什么必然联系?把你的样例展示出来。
编码:
# encoding : utf-8
list1 = [ ('李白','床前明月光'),('李清照','鱼C论坛'),('GDSMAD02154','0123548')]
print(list1)
我是操作数据库,输出的结果是含 中文的列表, 然后导致输出是乱码。。
帮帮忙
本帖最后由 jackz007 于 2020-1-10 14:22 编辑
maxliu06 发表于 2020-1-10 14:05
我是操作数据库,输出的结果是含 中文的列表, 然后导致输出是乱码。。
帮帮忙
list0 = [ ('李白' , '床前明月光') , ('李清照','鱼C论坛') , ('GDSMAD02154','0123548')]
list0_utf_8 = [(x . encode('UTF-8') , x . encode('UTF-8')) for x in list0]
list0 = [(x . decode('UTF-8' , 'strict') , x . decode('UTF-8' , 'strict')) for x in list0_utf_8]
你的代码:
# encoding : utf-8
list0 = [('李白','床前明月光') , ('李清照','鱼C论坛') , ('GDSMAD02154','0123548')]
list1 = [(x . decode('UTF-8' , 'strict') , x . decode('UTF-8' , 'strict')) for x in list0]
print(list1) jackz007 发表于 2020-1-10 14:16
你的代码:
如果的结果是很多的呢,怎么办?
比如 我现在是查询一个表格, 出来的结果N多个行的。import pymssql
ID = input("请输入学号:")
SEX = input("请输入性别:")
conn = pymssql.connect(
host='127.0.0.1',
user='sa',
password='qq123456',
database='test',
port='1433',
charset='utf8')
cur = conn.cursor()
print("数据库连接成功")
cur.execute ("select from student where id=%s andsex=%s",(ID,SEX))
data = cur.fetchall()
print(data)
################
charset='utf8',能够正确连接到数据库, 但是输出中文乱码了
charset='GBK', 也能正确连接到数据库, 但sql 不能使用传入参数, 否则就报utf-8的错误。。
本帖最后由 jackz007 于 2020-1-10 15:17 编辑
maxliu06 发表于 2020-1-10 14:43
如果的结果是很多的呢,怎么办?
比如 我现在是查询一个表格, 出来的结果N多个行的。
那恐怕在指令传出前,需要把它 encode() 到 UTF-8,对所有接收到的文本内容都得按 UTF-8 decode() 才行。你应该不是头一个遇到此问题的人,业内肯定会有非常成熟的解决方案,在网上查一下或向数据库的大牛咨询一下呢。 jackz007 发表于 2020-1-10 15:15
那恐怕在指令传出前,需要把它 encode() 到 UTF-8,对所有接收到的文本内容都得按 UTF-8 decode( ...
非常感谢
页:
[1]