作者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://www.ptt.cc/bbs/Python/M.1563937693.A.F40.html
→ kenduest: 要先看DB table 編碼用什麼,並且確認連線時候用哪種編 07/24 11:37
→ kenduest: 碼,最後才是搞考慮目前操作端要顯示若編碼不同的處理 07/24 11:37
→ tg70197: os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.WE8ISO8859 07/24 11:41
→ tg70197: 已經知道編碼是什麼了,原本DB內就是存ASCII碼 07/24 11:42
→ tg70197: 所以才需要把ASCII轉成可以顯示的資料 07/24 11:43
→ AndCycle: 你如果要顯示在命令列你就要搞懂console編碼的問題 07/24 16:00
→ AndCycle: 如果你想快速解就先寫在檔案裡然後開筆記本去看 07/24 16:01
推 TitanEric: 推樓上 07/24 22:06
→ wintersxp: 樓上給的建議都不錯,但我認為你DB資料根本不是ascii 07/26 17:33
→ kenduest: 大概就是像是以往有人在mysql用latin1字集放big5編碼 07/28 22:47
→ alvinlin: 讀出文字檔後存成.html再試著用瀏覽器換不同碼解碼試試? 07/30 11:15