我有一个符号作为输出,当我打印时它显示为''。所以我尝试x.encode('utf-8')
取回符号,而不是
。我看了很多例子,但没有提供解决方案。
我该如何解决这个问题?
答案 0 :(得分:0)
您的控制台或终端字体不支持该代码点;它打印就好了。
但是,您的终端未配置为打印UTF-8,因此打印UTF-8字节会导致垃圾邮件。
您需要更改用于终端或控制台程序的字体,以显示该特定代码点。
但是,如果您在U+F0FC打印的代码点,则除了作为占位符字形外,不会打印任何字体。这是私人使用的代码点,没有通用字体可以显示它。
在这种情况下,您必须用其他东西替换该代码点,以表示原始数据中代码点所代表的内容。在聊天中你提到它是一个Powerpoint复选标记。您的输出仅限于Windows 1252 codepage,因此您需要在该标准中选择一个字符,获取该字符的unicode代码点,并用该值替换U + F0FC代码点。
例如,如果要使用•
字符(1252代码页中的十六进制95,unicode指向U + 2022),则将私有代码点替换为:
someunicodestring.replace(u'\uf0fc', u'\u2022')