簡體   English   中英

Python Unicode不支持字符U + 25BE

[英]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 ConsoleRaster Fonts字體顯示正確的字符。 確保您使用的字體支持該字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM