Je sauvé script dans l'encodage UTF-8.de remplacement pour u'string »
J'ai changé codepage sur les fenêtres à 65001.
Je suis sur python 2.6
Script # 1
# -*- coding: utf-8 -*-
print u'Español'
x = raw_input()
Script # 2
# -*- coding: utf-8 -*-
a = 'Español'
a.encode('utf8')
print a
x = raw_input()
Script # 1 , imprime le mot fin sans erreur, Script # 2 fait erreur:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf1 in position 4: ordinal not in range(128)
Je veux être en mesure d'imprimer cette variable sans erreurs dynamiquement dans le script # 2. l'encodage ('utf8') a été mentionné à moi comme l'équivalent de faire u'string '
De toute évidence, ce n'est pas parce qu'il provoque des erreurs. Comment puis-je le faire les gens?
Est-ce parce que vous ne l'avez pas préfixer la chaîne avec 'u'? Je suis habitué à Python 3. –
Oui, je ne l'ai pas fait exprès. J'essayais de prouver comment la même chose peut être faite sur une variable dynamique, comme si vous lisiez des chaînes à partir d'un fichier par exemple. – russo
(en Python 2x) 'u '...' 'est une vraie chaîne unicode (encodingless), si vous voulez convertir de la chaîne ordinaire, vous devez connaître son encodage, le processus de conversion de celui-ci en décodage de la chaîne unicode . l'encodage est utilisé pour 'u '...'' -> ''...'' (et vous devez indiquer l'encodage de résultat désiré) – mykhal