python27在windows 命令行窗口中運行代碼,我的python程序開頭使用了
sys.setdefaultencoding('utf-8')
當我在程序中將 由命令行參數 傳來的包含中文名的字符串 解碼為 utf-8 格式的時候報錯:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb7 in position 34: invalid
或者
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb9 in position 91: invalid
(因為這個代碼 codecs.utf_8_decode(input, errors, True) 導致的錯誤)
我的解決方案如下( 下面的示例代碼中 cmd_input_str 變量 記錄命令行接收到的字串 )
save_str = (cmd_input_str.decode('gb2312')).encode('utf-8')
這樣寫就不會報錯了,能成功保存到xml