作者tg70197 (alex)
看板Python
标题[问题] 字串转码问题
时间Wed Jul 24 11:07:59 2019
各位大大好
小弟在字码转换时遇到问题找不到解决方向
想请各位大大指点
有一些资料从资料库捞出来後是ASCII码
但显示是乱码
小弟需要将它转换成正常可读的字码
烦请各位大大协助
程式如下:
cur.execute(sql)
rows = cur.fetchall()
for row in rows:
print(row[0])
con.close()
显示为:
https://imgur.com/BoXNvK0
资料库原是内容为:
https://imgur.com/v754Wvu
有尝试转码
for row in rows:
print(bytes(row[0], encoding='ASCII').decode('UTF8'))
con.close()
但出现
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-29:
ordinal not in range(128)
查了一些资料设定字元为UTF8 我本来就都是UFT8
print(sys.getdefaultencoding())
print(sys.stdin.encoding)
print(sys.stdout.encoding)
print(sys.stderr.encoding)
请问有其他方法吗?
感谢各位
--
大姐:这颗Seagate外包装彩盒标明160G,但我拿回家试怎麽只有152?<(‵^′)>气!
我 :啊,是这样的,科学计算方式是XXX (省略N字)~( ̄▽ ̄||)>
大姐:你事前又没讲清楚!我们明明说好是160G,现在拿到了152,就是你蓄意隐瞒!
故意不揭露事实, 有诈骗的嫌疑!...(一千字)...(╯‵□′)╯︵ ┴─┴
大姐男友:同学,我跟你讲,这个社会人外有人,不要以为我们对硬体不了解 <( ̄︶ ̄)>
做人要脚踏实地,这种黑心钱不能赚,年纪轻轻就有前科,你将来怎麽做人?( ′-`)y-~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.145.169 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1563937693.A.F40.html
1F:→ kenduest: 要先看DB table 编码用什麽,并且确认连线时候用哪种编 07/24 11:37
2F:→ kenduest: 码,最後才是搞考虑目前操作端要显示若编码不同的处理 07/24 11:37
3F:→ tg70197: os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.WE8ISO8859 07/24 11:41
4F:→ tg70197: 已经知道编码是什麽了,原本DB内就是存ASCII码 07/24 11:42
5F:→ tg70197: 所以才需要把ASCII转成可以显示的资料 07/24 11:43
6F:→ AndCycle: 你如果要显示在命令列你就要搞懂console编码的问题 07/24 16:00
7F:→ AndCycle: 如果你想快速解就先写在档案里然後开笔记本去看 07/24 16:01
8F:推 TitanEric: 推楼上 07/24 22:06
9F:→ wintersxp: 楼上给的建议都不错,但我认为你DB资料根本不是ascii 07/26 17:33
10F:→ kenduest: 大概就是像是以往有人在mysql用latin1字集放big5编码 07/28 22:47
11F:→ alvinlin: 读出文字档後存成.html再试着用浏览器换不同码解码试试? 07/30 11:15