Skip to main content
 首页 » 编程设计

小写时python3 unicode失败

2025年05月04日24haluo1

我在使用 Python 3 时遇到了一个非常奇怪的问题:

>>> a = "abcé" 
>>> a 
'abcé' 
>>> print(a) 
abcé 
>>> print(a.lower()) 
abc� 

我不知道这是从哪里来的,但它无法小写 unicode 字符。请注意,我无法在所有地方重现错误,这只是在我的一台计算机上出现以下问题。此外,同一台计算机上的 python2 可以正确打印 abcé。

此外,a.upper() 返回的是 ABCé 而不是 ABCÉ,因此它不会遇到与 相同的问题降低..

有什么想法吗?

请您参考如下方法:

我不完全确定这里发生了什么,但看起来 python 和您的终端之间存在一些编码问题。

最好的做法是将所有内容都保存在 'utf-8' 中,以确保您可以执行 import locale 和 locale.setlocale(locale.LC_ALL, 'en_US.UTF- 8') 从 python 中或执行 export LC_ALL=en_US.utf8。

我不是 100% 精通这些编码主题,因此也许编码专家有更好的答案/解释,但这应该可以解决您的问题。