//判断字符串是什么编码
if ($tag === mb_convert_encoding(mb_convert_encoding($tag, "GB2312", "UTF-8"), "UTF-8", "GB2312")) {

}
else {//如果是gb2312 的就转换为utf8的
$tag = mb_convert_encoding($tag, 'UTF-8', 'GB2312');
}

 

1、把 GBK 编码字串转换成 UTF-8 编码字串

<?php      header("content-Type: text/html; charset=Utf-8");      echo mb_convert_encoding("你是我的好朋友", "UTF-8", "GBK");      ?>    2、把 UTF-8 编码字串转换成 GB2312 编码字串

// 注意将此文件存盘成    utf-8 编码格式文件再测试      <?php      header("content-Type: text/html; charset=gb2312");      echo mb_convert_encoding("你是我的好朋友", "gb312", "utf-8");      ?>   3、对整个页面进行转换
该方法适用所有编码环境。这样把前128个字符以外(显示字符)的字符集都用    NCR(Numeric character reference,如“汉字”将转换成“汉字”这种形式)来表示,这样的编码在任意编码环境下页面都能正 常显示。

在php文件的头部加上下面三行代码:

mb_internal_encoding("gb2312");   // 这里的gb2312是你网站原来的编码      mb_http_output("HTML-ENTITIES");      ob_start('mb_output_handler');   使用mb_convert_encoding 函数需启用PHP 的mbstring (multi-byte string)扩展。

如果没有没有开启php的mbstring扩展,则需要做如下设置,让php支持该扩展。

1、windows 服务器环境

编辑 php.ini 文件,将; extension=php_mbstring.dll 前面的 ; 去掉,重启网页服务器。

2、Linux服务器环境

在编译配置时加入 --enable-mbstring=cn 编译参数,再进行PHP的编译安装。

 

 

posted on 2012-02-14 16:57  Right_MR  阅读(1602)  评论(0编辑  收藏  举报