zoukankan      html  css  js  c++  java
  • (原创)开发微信公众平台遇到的乱码等问题的解决

    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的环境和本地不太一样.

  • 相关阅读:
    115. 不同的子序列
    114. 二叉树展开为链表
    基于Docker结合Canal实现MySQL实时增量数据传输
    Docker-Compose
    Docker容器的创建、启动、和停止
    ES集群
    ES
    Docker配置JDK1.8镜像
    Docker及Docker-Compose的使用
    docker安装jdk
  • 原文地址:https://www.cnblogs.com/BlogCommunicator/p/4873021.html
Copyright © 2011-2022 走看看