[英]Python Unicode Does not support character U+25BE
一個問題困擾着我整整一整天,Python 3.4.1一直在返回
UnicodeEncodeError:'charmap'編解碼器無法在位置1075編碼字符'\\ u25be':字符映射為未定義
Unicode顯示U + 25BE是▾BLACK DOWN-POINTING SMALL TRIANGLE。
我一直在嘗試讀取一個包含這個小家伙的文件,無論我做什么,它似乎都行不通。 以下是相關代碼:
whole = ""
f = open(src, 'r', encoding='utf-8')
for l in f:
whole += l
print(whole)
打印將引發以上錯誤。 我嘗試使用以下方式將其編碼為ASCII:
l.encode('ascii', 'ignore')
還是一無所有。 我無法解碼錯誤的文件嗎? 如果有幫助,這也是一個網頁,使用urllib.request
模塊會產生完全相同的結果。
我正在使用Windows 7,如果有所作為。
我假設您正在打印到Windows控制台。 Windows控制台默認不使用UTF-8(並且對UTF-8的支持不佳),但是您可以更改代碼頁,然后重試:
C:\>chcp 65001
Active code page: 65001
C:\>py
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('\u25be')
▾
>>> import unicodedata as ud
>>> ud.name('\u25be')
'BLACK DOWN-POINTING SMALL TRIANGLE'
在美國英語Windows上使用Consolas
控制台字體為我顯示正確的字符,但不使用Lucida Console
或Raster Fonts
字體顯示正確的字符。 確保您使用的字體支持該字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.