折腾一个python脚本期间,涉及到,
将一个html实体:
解码:
1 2 3 4 5 6 | itemInfoDict[ 'labelNumber' ] = crifanLib.decodeHtmlEntity(itemInfoDict[ 'labelNumber' ]); itemInfoDict[ 'districtCounty' ] = crifanLib.decodeHtmlEntity(itemInfoDict[ 'districtCounty' ]); itemInfoDict[ 'signage' ] = crifanLib.decodeHtmlEntity(itemInfoDict[ 'signage' ]); itemInfoDict[ 'companyName' ] = crifanLib.decodeHtmlEntity(itemInfoDict[ 'companyName' ]); itemInfoDict[ 'licenseNumber' ] = crifanLib.decodeHtmlEntity(itemInfoDict[ 'licenseNumber' ]); itemInfoDict[ 'currentLevel' ] = crifanLib.decodeHtmlEntity(itemInfoDict[ 'currentLevel' ]); |
后,用对应的python代码:
1 2 3 4 5 6 | logging.info(u "=============== 序号:%s ===============" , itemInfoDict[ 'labelNumber' ]); logging.info(u "区县 =%s" , itemInfoDict[ 'districtCounty' ]); logging.info(u "店招 =%s" , itemInfoDict[ 'signage' ]); logging.info(u "单位名称 =%s" , itemInfoDict[ 'companyName' ]); logging.info(u "许可证号 =%s" , itemInfoDict[ 'licenseNumber' ]); logging.info(u "当前等级 =%s" , itemInfoDict[ 'currentLevel' ]); |
输出到windows的cmd中,结果显示异常:
1 2 3 4 5 6 | LINE 136 : INFO =============== 序号:3 =============== LINE 137 : INFO 区县 =长宁 LINE 138 : INFO 搴楁嫑 =聽 LINE 139 : INFO 单位名称 =上海四建服务中心樱花度假村 LINE 140 : INFO 许可证号 =(沪长)食临证字[2006]第070010号 LINE 141 : INFO 当前等级 =良好 |
相对的,在log文件中的正常的输出是:
1 2 3 4 5 | LINE 136 INFO =============== 序号:3 =============== LINE 137 INFO 区县 =长宁 LINE 138 INFO 店招 = LINE 139 INFO 单位名称 =上海四建服务中心樱花度假村 LINE 140 INFO 许可证号 =(沪长)食临证字[2006]第070010号 LINE 141 INFO 当前等级 =良好 |
此处,觉得很奇怪。对于cmd中无法正常输出 觉得很奇怪
目前的推测是:
windows的cmd中,不支持 这个相对特殊的字符的显示。
而对于不支持,不知道是cmd本身不支持,还是由于本身cmd所用的GBK编码中,就不支持。
而导致此处,显示 时,变成了:
要显示出来的一行字符串,本身就变成乱码字符;
而且还出现错位的现象。