python 字符问题

把vps上的脚本迁移了一下,从centos转到了debian,发现有些脚本不能用了。。

可能是编码问题,然后转化为各种编码,发现还是符号错误。

最终才发现了问题所在。。

1
if u'哈哈' in content:

这个在python3上面是非法的。因为python3只有一种字符串类型:unicode字符串
u’哈哈’ 在python3对应‘哈哈’
ur’哈哈’ 在python3对应r‘哈哈’

具体可以参见http://www.360doc.com/content/14/0619/23/16740871_388198818.shtml

不知道为什么,我用的相同的源码包编译的python3.2,在centos下u’哈哈’是可以的,但是在debian下就不可以。。

因为一直以为可以,所以一直认为编码错误。。没想到到后来是语法错误。。

其中vim可以通过下面命令设置编码

1
2
:set fileencoding=UTF8
:set fileencoding=gbk

还可以通过下面命令查看编码

1
:set enc

shell下可以通过 file filename来查看文件编码。