当前位置:首页 > PHP教程 > php函数 > 列表

php字符串编码相互转换函数(GBK/UTF-8)

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-09 14:24:49 浏览: 评论:0 

虽然说php自带了编码转换函数,但是在使用时会碰到字符丢失问题了,为了解决这个问题小编整理了两上将非GBK字符集的编码转为GBK与将非UTF-8字符集的编码转为UTF-8的函数,希望能帮助到各位.

例子代码如下:

  1. <?php 
  2. /** 
  3.  * 将非GBK字符集的编码转为GBK 
  4.  * 
  5.  * @param mixed $mixed 源数据 
  6.  * 
  7.  * @return mixed GBK格式数据 
  8.  */ 
  9. function charsetToGBK($mixed
  10.     if (is_array($mixed)) { 
  11.         foreach ($mixed as $k => $v) { 
  12.             if (is_array($v)) { 
  13.                 $mixed[$k] = charsetToGBK($v); 
  14.             } else { 
  15.                 $encode = mb_detect_encoding()($varray('ASCII''UTF-8''GB2312''GBK''BIG5')); 
  16.                 if ($encode == 'UTF-8') { 
  17.                     $mixed[$k] = iconv('UTF-8''GBK'$v); 
  18.                 } 
  19.             } 
  20.         } 
  21.     } else { 
  22.         $encode = mb_detect_encoding($mixedarray('ASCII''UTF-8''GB2312''GBK''BIG5')); 
  23.         //var_dump($encode); 
  24.         if ($encode == 'UTF-8') { 
  25.             $mixed = iconv('UTF-8''GBK'$mixed); 
  26.         } 
  27.     } 
  28.     return $mixed
  29.  
  30. /** 
  31.  * 将非UTF-8字符集的编码转为UTF-8 
  32.  * 
  33.  * @param mixed $mixed 源数据 
  34.  * 
  35.  * @return mixed utf-8格式数据 
  36.  */ 
  37. function charsetToUTF8($mixed
  38.     if (is_array($mixed)) { 
  39.         foreach ($mixed as $k => $v) { 
  40.             if (is_array($v)) { 
  41.                 $mixed[$k] = charsetToUTF8($v); 
  42.             } else { //开源软件:phpfensi.com 
  43.                 $encode = mb_detect_encoding($varray('ASCII''UTF-8''GB2312''GBK''BIG5')); 
  44.                 if ($encode == 'EUC-CN') { 
  45.                     $mixed[$k] = iconv('GBK''UTF-8'$v); 
  46.                 } 
  47.             } 
  48.         } 
  49.     } else { 
  50.         $encode = mb_detect_encoding($mixedarray('ASCII''UTF-8''GB2312''GBK''BIG5')); 
  51.         if ($encode == 'EUC-CN') { 
  52.             $mixed = iconv('GBK''UTF-8'$mixed); 
  53.         } 
  54.     } 
  55.     return $mixed
  56. ?>

Tags: php字符串编码 php转换函数

分享到: