我想请问一下,我在开发微信公众号的时候,使用框架集成的微信系统获取微信端输入的中文信息,传递到后台后,通过一番转码后,就会变成乱码保存到数据库,而且事件的关键字同样不能为中文,否则也是乱码到后台。我大致的测试了一下方法,找出出错的地方,到postData没问题,转到raw的时候,就已经乱码了。希望大神能帮忙解决,谢谢!
InputStream in = new ByteArrayInputStream(postData.getBytes());
Map<String, Object> map;
String raw;
try {
// fix:
// DocumentBuilder不支持直接传入Reader,如果直接传InputStream的话又按系统默认编码,所以,用InputSource中转一下
Reader r = new InputStreamReader(in, Encoding.CHARSET_UTF8);//Streams.utf8r(in);
BufferedReader read = new BufferedReader(r);
raw = Lang.readAll(read);
map = Xmls.asMap(Xmls.xmls()
.parse(new InputSource(new StringReader(raw)))
.getDocumentElement());
}
catch (Exception e) {
throw Lang.wrapThrow(e);
}