我有一个系统,我在Windows机器上的Web2py框架中开发出来,现在它被部署在Linux机器上。在这个系统中,我检查输入数据的类型为Unicode,如果不是,则返回错误信息为Unicode是必需的。我发送参数为u'HI'
或unicode('HELLO')
。这在我的Windows机器上工作,但现在,因为我已经在Linux上部署了系统,所以我得到错误,因为Unicode是必需的。请让我知道我是否缺少任何东西。web2py windows-linux的互操作性
我在这两台机器上都有相同的python版本(2.7.2)。
这是怎么了检查输入变量的类型:
if isinstance(value,getattr(__builtin__,'unicode')) or isinstance(value,unicode)):
pass
else:
return "error message"
我曾尝试以下我的机器和Linux服务器上的命令检查蟒蛇编码设置。其结果分别如下:
我机 -
>>> import sys
>>> print sys.stdout.encoding
cp1252
>>> print sys.stdin.encoding
cp1252
>>> sys.getdefaultencoding()
'ascii'
>>>
在Linux机器
>>> import sys
>>> print sys.stdout.encoding
UTF-8
>>> print sys.stdin.encoding
UTF-8
>>> sys.getdefaultencoding()
'ascii'
>>>
我需要在任何一台机器,以解决这个改变编码设置?
你能展示一些相关的代码,输入和输出吗?你是否在两个操作系统中使用相同的Python版本? –
@PauloBu刚才编辑的问题。 – gliese581g
我想你在问题中没有给我们足够的信息来回答它。例如,你如何通过输入是不清楚的。 –