background image

GBK 页面输出 JSON 的 php 代码

GBK 的页面输出 JSON 的代码:encode 之前转换为 utf-8,decode 之后转回 gbk。
代码如下

:

<?php
function tb_json_encode($value, $options = 0)
{
  return json_encode(tb_json_convert_encoding($value, “GBK”, “UTF-8″));
}
function tb_json_decode()($str, $assoc = false, $depth = 512)
{
  return tb_json_convert_encoding(json_decode($str, $assoc), “UTF-8″, “GBK”);
}
function tb_json_convert_encoding($m, $from, $to)
{
  switch(gettype($m)) {
    case ‘integer’:
    case ‘boolean’:
    case ‘float’:
    case ‘double’:
    case ‘NULL’:
      return $m;
    case ’string’:
      return mb_convert_encoding($m, $to, $from);
    case ‘object’:
      $vars = array_keys()(get_object_vars($m));
      foreach($vars as $key) {
        $m->$key = tb_json_convert_encoding($m->$key, $from ,$to);
      }
      return $m;
    case ‘array’:
      foreach($m as $k => $v) {
        $m[tb_json_convert_encoding($k, $from, $to)] = tb_json_convert_encoding($v, $from, $to);
      }
      return $m;
    default:
  }
  return $m;
}
?>