开发微信公众平台遇到的乱码等问题的解决
时间:2015-10-13 00:00:54
收藏:0
阅读:640
1.ngrok内网映射问题:
首先这个工具是外国人写的,服务器也在国外.但是tunnel部属在国内,支持ngrok绝大多数功能.
http://www.tunnel.mobi/
命令行中使用方法
在CMD命令中先切换到ngrok所在的位置再进行如下操作
方法一:ngrok 8080(该方法已被和谐掉了)
方法二:ngrok -config ngrok.cfg -subdomain example 8080
说明:
example-自己任意设置;
8080-tomcat的端口号;
但是用微信调试工具调试的时候却总是得不到相应,本地的tomcat服务器也没有任何log
可能是内网映射或其他问题.
分步排查.
于是先将应用部署到ACE上,确保应用稳定运行后再回头解决内网映射问题.
2.乱码问题
这次乱码全是????问号的数量和汉字一样多
一种可能的起因是:将utf-8的字符流以iso-8859-1的方式转换成了字节流.
但是有很多地方可能产生这个问题.
经过排查,发现两处可能引起这个问题的地方:
1.XStream xstream = new XStream(new DomDriver("utf-8"));
public static String textMessageToXml(TextMessage textMessage){ XStream xstream = new XStream(new DomDriver("utf-8")); xstream.alias("xml", textMessage.getClass()); String str = xstream.toXML(textMessage); return str; }
2.response.setContentType("text/xml,charset=utf-8");
两句话全都加上,终于不再乱码了.
//----------------------------------------
关于xstream:这次用它从po生成xml文件,最初是这么用的
XStream xstream = new XStream();
这样实例化的化需要依赖其他包.但是最开始我这样做在ace上面竟然也能运行,看来ace的环境和本地不太一样.
评论(0)