Maison > Article > développement back-end > Python2.7 génère des caractères chinois tronqués dans la fenêtre de commande Windows
L'exemple de cet article décrit le problème du code tronqué généré lors de l'exécution de fichiers Python sous la fenêtre de commande Windows Pour votre référence :
Ps : veuillez me corriger s'il y a des erreurs. Bienvenue pour échanger et apprendre
# -*- coding:utf-8 -*-str = "彦雪"print str
褰﹂洩
S'il contient des caractères chinois, le L'interpréteur Python signalera généralement une erreur.
Mais si l'encodage UTF-8 est spécifié, Python ne signalera plus d'erreur
"# -
- coding:utf-8 --" précise. que le code source Python est codé en UTF-8.
Puisque Python ne permet pas la conversion directe de utf-8 en gbk, vous devez d'abord convertir utf-8 en unicode, puis en gbk
lorsque l'impression est requise Lors de la sortie, Python appellera d'abord le format d'encodage du programme de sortie de caractères (ligne de commande ou fonction de sortie), puis encodera la chaîne dans l'encodage utilisé par le programme de sortie de caractères (afin que le programme de sortie de caractères n'apparaisse pas car il le fait ne reconnaît pas l'encodage) Caractères tronqués), puis le programme de sortie de caractères envoie les caractères codés vers la destination.Solution
# 方法一 中文前加u, 告诉Python解释器后面的是个unicode编码str = u"彦雪"
# 方法二 str.decode('utf-8') 以utf-8编码对字符串 str 进行解码, 获取unicodestr = "彦雪".decode('utf-8')
# 方法三 unicode(str, 'utf-8') 将字符串 str 以utf-8编码解码, 获取unicodestr = unicode('彦雪','utf-8')
# 方法1 str.encode("gbk") 将unicode转为gbk 编码content = raw_input(u"输入内容: ".encode("gbk"))
# 方法2content = raw_input("输入内容: ".decode('utf-8').encode("gbk"))
# 方法3content = raw_input(unicode('输入内容: ','utf-8').encode("gbk"))
Bien que cette méthode d'écriture soit très pratique, l'effet multiplateforme est médiocre. Personnellement, je ne recommande pas cette méthode d'écriture. Il est recommandé d'écrire les caractères chinois et raw_input séparément. le but d'être sur la même ligne
Lecture étendueNotes d'encodage Python# -- codage:utf-8 --
PEP 263 - Définition des encodages de code source PythonQuelques recherches sur l'encodage Python, les caractères tronqués et Unicodeentrée raw_input, lecture de fichiers, comparaison de variables et autres problèmes de conversion str, unicode, utf-8 ExplorationRetrouvez-vous dans le partage de connaissances et profitez des joies de la programmation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!