在 Python 的控制台中显示 Emoji
问题描述
我想知道是否可以在 Windows 上的 Python 3 控制台中打印表情符号.实际上,为了避免以下错误:
I wonder if it's possible to print Emojis in a Python 3 console on Windows. Actually, to avoid the following error:
codec can't encode character 'U0001f44d' in position 10: character maps to
<undefined>
我用过:
import emoji as moji
print(moji.emojize('Python is :thumbsup:', use_aliases=True).encode('unicode-
escape'))
也就是说,如预期的那样,打印正确的character:U0001f44d
,没有任何exception
.
which is, as expected, printing the right character:U0001f44d
without any exception
.
解决方案
Windows 命令提示符对于 Unicode 字符有很多限制,尤其是那些基本多语言平面之外的字符(BMP,或 U+0000 到 U+FFFF).命令提示符默认为旧版 OEM 编码(美国 Windows 上为 cp437),并且对本地化编码之外的字符的字体支持有限.寻找一个对 UTF-8 有良好支持的 Python IDE.
The Windows command prompt has a lot of limitations with regards to Unicode characters, especially those outside the basic multilingual plane(BMP, or U+0000 to U+FFFF). The command prompt defaults to a legacy OEM encoding (cp437 on US Windows) and has limited font support for characters outside the localized encoding. Find a Python IDE that has good support for UTF-8.
查看各种 Unicode 字符的一种快速而简单的方法是写入文件并利用浏览器:
One quick-and-dirty way to see a wide variety of Unicode characters is to write to a file and leverage the browser:
import os
with open('test.htm','w',encoding='utf-8-sig') as f:
f.write('U0001f44d')
os.startfile('test.htm')
这显示 在我的 Windows 10 系统上的最新 Chrome 浏览器中.
This displays in the latest Chrome browser on my Windows 10 system.
相关文章