zoukankan      html  css  js  c++  java
  • 微信开发日常翻车

    ### 在微信项目的过程中踩了无数的坑,数之不尽
    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);
    ```
    来避免错误的产生。

  • 相关阅读:
    软解析和硬解析
    oracle存储过程常用技巧
    jquery-1.11.1.js
    JavaScript遍历table
    JavaScript向select下拉框中添加和删除元素
    glog
    DDL引发的对象invalidation
    模拟cursor pin S wait on X
    rsync 排除目录
    JavaScript解决select下拉框中的内容太长显示不全的问题
  • 原文地址:https://www.cnblogs.com/haorenergou/p/7196770.html
Copyright © 2011-2022 走看看