【问题标题】:Alphabetic characters issue字母字符问题
【发布时间】:2014-11-28 01:48:07
【问题描述】:

我必须使用土耳其字符,当我在 cmd 中写“chcp”时,我看到 857。 所以我尝试用以下方式开始我的程序:

# -*- coding: cp857 -*- 

但没有任何改变。我仍然看不到土耳其字符,如“ş,İ,Ş,Ğ”等。

所以我尝试使用以下方式启动我的程序:

# -*- coding: cp1254 -*-  

有了这个,我可以看到土耳其语字符,但是当我的程序需要来自用户的数据时,我无法再次看到土耳其语字符,所以我的程序什么都没有。就像:

name=raw_input("Please enter your name: ")
print name
--------
Please enter your name: Ayşe
A*/8e

所以,如果我必须在我的程序的列表中找到用户名,我找不到“Ayşe”,因为程序不理解土耳其语字符,但它在程序开头显示土耳其语字符。当我需要数据时出现问题来自用户.. 这没有任何意义,我真的很想知道为什么以及如何解决它。我尝试了很多方法,但没有一个有效..

【问题讨论】:

    标签: python python-2.7 cmd character


    【解决方案1】:

    阅读How to read Unicode input and compare Unicode strings in Python?,它应该可以帮助您理解为什么 raw_input 没有按照您的预期读取名称。

    【讨论】:

    • UnicodeEncodeError: 'ascii' codec can't encode character u'\u015f' in position 0: ordinal not in range(128) 当我尝试您发布我朋友的方法时出现此错误跨度>
    【解决方案2】:
    1. 在控制台中输入 chcp 65001
    2. 右击cmd窗口,将字体改为Lucida控制台

    这是Unicode characters in Windows command line - how?的副本

    此外,您应该避免用户向控制台写入内容,这会给您和用户带来不必要的麻烦

    【讨论】:

      猜你喜欢
      • 2013-12-08
      • 2012-09-13
      • 2020-12-24
      • 2021-12-02
      • 2011-07-13
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多