Discuss / Python / 关于字符编码的问题,我感觉自己要崩溃了……

关于字符编码的问题,我感觉自己要崩溃了……

古_______

#1 Created at ... [Delete] [Delete and Lock User]

操作系统windows 8

Python版本 2.7.9

我用notepad++编写Python程序时,如果用ANSI格式编写,则只需在代码的开头写上

#-*- coding:utf-8 -*-

就可以输入中文了。例:

#-*- coding:utf-8 -*-
raw_input('请输入文字:')

但如果在notepad++中设置格式为utf-8来写程序的话,在文件的开头加了

#-*- coding:utf-8 -*-

这行代码也不起作用,只能以以下两种方法来输入中文: 方法一:

raw_input(unicode('请输入中文','utf-8').encode('gbk'))

方法二:

raw_input('请输入中文:'.decode('utf-8').encode('gbk')

问题:

为什么以UTF-8保存的文件以UTF-8读取,还必须要将编码转换成gbk才可以正常显示中文;以ANSI保存的文件以UTF-8读取,反而可以正常显示中文?


  • 1

Reply