zoukankan      html  css  js  c++  java
  • PHP中,json汉字编码

      当用json与js或者其它客户端交互时,如果有中文,则会变成unicode。虽然能使用,但是影响观看。不好调试呀。从网上找到了几个方法  

    一,用下面这个函数,需要编码时,直接调用这个函数就成  

    function jsonEncodeWithCN($data) {
    return preg_replace("/\u([0-9a-f]{4})/ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '$1'))", json_encode($data));
    }
     
    <?php
    * 处理json_encode() 不支持中文的情况
    *
    * 实际应用中,当有中文字符时,当直接使用json_encode() 函数会使汉字不能正常显示
    * 所以有了这个适用性比较广的函数 ch_json_encode()[2]来解决这个问题
    *
    * charset: UTF-8
    * create date: 2012-7-8
    * @author Zhao Binyan
    * @copyright (C) 2011-2012 itbdw
    *//**
    * 处理 json_encode() 不支持中文的情况
    *
    * @param array|object $data
    * @return array|object
    */
    function ch_json_encode($data) {
    /**
    * 将中文编码
    * @param array $data
    * @returnstring
    */
    function ch_urlencode($data) {
    if (is_array($data) || is_object($data)) {
    foreach ($dataas$k => $v) {
    if (is_scalar($v)) {
    if (is_array($data)) {
    $data[$k] = urlencode($v);
    } elseif (is_object($data)) {
    $data->$k =urlencode($v);
    }
    } elseif (is_array($data)) {
    $data[$k] = ch_urlencode($v);//递归调用该函数
    } elseif (is_object($data)) {
    $data->$k = ch_urlencode($v);
    }
    }
    }
    return$data;
    }
    $ret = ch_urlencode($data);
    $ret =json_encode($ret);
    return urldecode($ret);
    }
  • 相关阅读:
    8.2.8 A Simple Game
    8.2.7 Be the Winner
    8.2.6 John
    8.2.5 kiki's game
    8.2.2 Good Luck in CET-4 Everybody!
    8.2.4 悼念512汶川大地震遇难同胞——选拔志愿者
    8.1.8 Team Queue
    8.2.1 Brave Game
    8.1.7 愚人节的礼物
    8.1.6 Windows Message Queue
  • 原文地址:https://www.cnblogs.com/smartrui/p/3581448.html
Copyright © 2011-2022 走看看