今天执行一个简单的入库操做,可是发现入库的中文都是 unicode编码,在网上查了半天,也没检查出什么缘由,最后仍是找到了解决的方法,这里只讲思路。python
1:确认是什么类型,拿到变量之后,能够经过type来判断究竟是什么类型,有unicode 和str类型。json
2:若是是unicode类型,须要调用encde 和decode 方法进行解码,加码。app
for segment in segments: # print segment[0] # segments_en.append( [ segment[0] , wordAttr.get(segment[1]) ]) # print isinstance(segment[0], unicode); word = segment[0].encode('utf-8'); # print 'aaa',isinstance(word, str); # print isinstance(segment[0], str); # print word; item={'word':word,'wordtype':wordAttr.get(segment[1])} # print item; segments_en.append(item); # return segments,segments_en #最后做为json字符串输出的时候的这个ensure_ascii=False,很重要,就是经过这个,将整个json入库的时候,显示中文成功的。 return json.dumps(segments_en,encoding="UTF-8", ensure_ascii=False);
以此记录编码