2017-02-01 38 views
0

我的python版本是2.7。如何使用unicode.encode('rot13')修復UnicodeEncodingError

出於某種原因,我需要使用rot13來將編碼爲'utf-8'的段落轉換。但是,當我運行命令如下:

s = u'€' 
res = unicode.encode('rot13') 

我收到以下錯誤信息:

UnicodeEncodeError: 'charmap' codec can't encode character u'\u20ac' in position 0: character maps to <undefined> . How can I fix this error? I was trapped in this error for long time, and can't fix it by the method on Google.

+0

當你腐爛那個角色時,你期望得到什麼? – BrenBarn

+0

我想在服務器上插入一些文本到MySQL,但是我不能插入包含MySQL關鍵字的文本,所以我想通過rot13來轉換文本。但是一些文本包含一些像'€'這樣的字符,當處理這些文本時,我得到這樣的UnicodeEncodeError。處理完成後,'€'仍然是'€',但其他關鍵字已被替換。 – Luciano

+2

爲什麼不像其他人那樣正確地引用/轉義文本,而不是做這樣的rot13 shenanigans? –

回答

0

的ROT13編解碼器不能在Python 2。做到這一點它的硬編碼使用的字符表。切換到Python 3或只寫自己的rot13。

+0

謝謝你的回答,我會寫我自己的rot13。 – Luciano