如果頁面是GB18030編碼,而數據庫是GBK編碼,壹般來說是不用轉換的。GB18030是GBK的超級。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是沒有的。將GB18030字符寫入GBK的數據庫,只會丟失部分字符而已。壹般網頁上不會出現罕見的字符,所以這種情況是無需處理的。
所以,請仔細核對頁面和數據庫的編碼。
即使妳提供的頁面、數據庫編碼是正確的,而且壹定要轉換,也應該這樣做:
s?=?'GB18030字符串's?=?s.decode('GB18030')?#?轉化為unicode
s?=?s.encode('GBK')?#?轉化為GBK