• 微信开发日常翻车


    ### 在微信项目的过程中踩了无数的坑,数之不尽
    1.不要全信文档!不要全信文档!不要全信文档!
    ```xml
    <xml>
    <ToUserName><![CDATA[gh_82479813ed64]]></ToUserName>
    <FromUserName><![CDATA[ojpX_jig-gyi3_Q9fHXQ4rdHniQs]]></FromUserName>
    <CreateTime>1412075435</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[scancode_waitmsg]]></Event>
    <EventKey><![CDATA[rselfmenu_0_0]]></EventKey>
    <ScanCodeInfo>
    <ScanType><![CDATA[qrcode]]></ScanType>
    <ScanResult><![CDATA[http://weixin.qq.com/r/pUNnf4HEX9wgrcUc9xa3]]></ScanResult>
    <EventKey><![CDATA[rselfmenu_0_0]]></EventKey>
    </ScanCodeInfo>
    </xml>
    ```
    微信的扫一扫带提示信息事件scancode_waitmsg返回的数据格式
    <ScanResult>是包含在<ScanCodeInfo>里边的!!!
    2.Curl爬取到的网页如果出现乱码多半是文字编码格式不同造成的,我们这里默认的是UTF-8,但是有部分网页是GBK或者gb2312,所以在输出时要用iconv('GBK','UTF-8',$str);进行转码。
    3.在网页中用正则匹配内容的时候[ ]如果匹配不到需要用"/[. ]/s";在正则中的模式修正符s将会使元字符'.'匹配到换行符。
    4.拼接到地址栏的中文参数,会自动进行urlencode();如果网站本身的参数中文是gb2312编码的话,在传参数的时候依然会出现错误,故而应先对传进来的内容进行转码:
    ```php
    $name = iconv('UTF-8','gb2312',$name);
    $name = urlencode($name);
    ```
    来避免错误的产生。

  • 相关阅读:
    CentOS7下安装Docker-Compose
    USDT(omniCore)测试环境搭建
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等
    Docker导入导出镜像
    Linux下安装GO语言环境
    linux 查看磁盘空间大小
    rsync+sersync多线程实时同步
    rsync+inotify实时同步
    rsync高级同步
    NFS服务器
  • 原文地址:https://www.cnblogs.com/haorenergou/p/7196770.html
Copyright © 2020-2023  润新知