2016-07-03 8 views
5

Hallo Leute, ich hoffe, dass Sie mir bei diesem Problem helfen können, ich habe habe Stunden esKonvertieren von Wörtern mit String Ober() funktioniert nicht für bestimmte Buchstaben?

Mit diesem Code zu lösen versuchen:

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

frase = 'La canción de la piña' 
print frase.upper() 

ich nur bekommen „LA Cancion DE LA PINA“, die Problem ist, dass es das "ñ" nicht zu einem "Ñ" oder "ó" in "Ó" macht

Irgendeine Idee?

+4

Arbeiten wie ein Traum in' python3', in 'python2' Sie benötigen Unicode-Strings machen ('u '') explizit. – grochmal

Antwort

6

Verwenden Unicode literal (Stringliteral mit führenden u) Unicode-Zeichenfolge darzustellen:

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

UPDATE

folgende Zeile am Anfang der Datei Literale automatischen Unicode ermöglicht hinzufügen. (In interaktiv Shell, folgen Aussagen der Import-Anweisungen betroffen.)

from __future__ import unicode_literals 

Siehe __future__ - future statement definitions.

+1

'von __future__ import unicode_literals' kann Unicode-Literale standardmäßig aktivieren. – jfs

+0

@ J.F.Sebastian, Vielen Dank für die Informationen. Ich habe die Antwort entsprechend aktualisiert. – falsetru

0

Unicode Literal:

Try this:

frase = u'La canción de la Piña‘