我有一個系統,我在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
我想你在問題中沒有給我們足夠的信息來回答它。例如,你如何通過輸入是不清楚的。 –