使用String upper()转换单词对某些字母不起作用?

El *_*cto 5 python unicode python-2.7

大家好,我希望你能帮助我解决这个问题,我有几个小时试图解决它

使用此代码:

#!/usr/bin/python
# -*- encoding: utf-8 -*-

frase = 'La canción de la piña'
print frase.upper()
Run Code Online (Sandbox Code Playgroud)

我只是得到了"LACANCIóNDELAPiñA",问题是它没有使"ñ"成为"Ñ"或"ó"中的"Ó"

任何的想法 ?

fal*_*tru 6

使用unicode文字(带字母的字符串文字u)来表示unicode字符串:

>>> frase = u'La canción de la piña'
>>> print frase.upper()
LA CANCIÓN DE LA PIÑA
Run Code Online (Sandbox Code Playgroud)

UPDATE

在文件开头添加以下行可启用自动unicode文字.(在交互式shell中,跟随import语句的语句将受到影响.)

from __future__ import unicode_literals
Run Code Online (Sandbox Code Playgroud)

请参阅__future__- 将来的语句定义.