我正在研究從Redshift數據庫獲取數據的Django應用程序。寫給這個Redshift數據庫的人做出了一些奇怪的選擇。我想弄清楚如何處理它有串這樣的事實:Python,Unicode:使用格式錯誤的字符串
Let’s play! \xe2\x9a\xbd\xef\xb8\x8f
隨着psycopg2我得到這些進入Python作爲
u'Let\u2019s play! \\xe2\\x9a\\xbd\\xef\\xb8\\x8f'
我應該呈現此作爲
讓我們玩吧! 012️
它們以varchar(65535)
存儲在Redshift表中。我使用pyscopg2將它們拖入應用程序後端(Django 1.11,Python 2.7)。它們在前端使用JavaScript進行渲染。
任何建議,將不勝感激 - 我找不出任何解決方案。
你有[變爲亂碼(HTTPS ://en.wikipedia.org/wiki/Mojibake)。它有多種編碼。我不確定你是如何得到你在psycopg2中做的結果的,因爲我找不到可以返回結果的編碼器。獲得U + 2019代碼點意味着一個Windows-125x編碼器,但是它們中的任何一個都不會在Python中返回UTF-8剩餘部分而不會出錯。一個正確的UTF-8編碼字符串應該是''讓\ xe2 \ x80 \ x99s玩! \ xe2 \ x9a \ xbd \ xef \ xb8 \ x8f'' –
哎呀,您對我從psycopg2獲得的信息是否正確。更新的問題。 –