mb_convert_encoding
函数
为php内部多字节字符串编码转换函数,可以在有需要的场合进行编码转换,如:解决
在GB2312编码环境下使用Ajax产生的中文
字符乱码
问题。支持几乎所有编码,版本支持 PHP
4 >= 4.0.6、PHP 5。
函数原型:
/**
* 多字节字符串编码转换函数
*
* @param string str 需要进行编码转换的字符串
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码
* @return string
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
使用举例:
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,如“汉字”将转换成“&#27721;&#23383;”这种形式)来表示,这样的编码在任意编码环境下页面都能正常显示。
方法是在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 (multi-byte string)扩展支持。
如果没有出现上面的画面,则需要做如下设置
,让php支持该扩展。
1、windows 服务器环境
编辑 php.ini 文件,将; extension=php_mbstring.dll 前面的 ; 去掉,重启网页服务器。
2、Linux
服务器环境
在编译配置时加入 --enable-mbstring=cn
编译参数
,再进行PHP的编译安装。
结束语:
如果大家在使用的过程中,还有什么无法明白的地方,可以参看《PHP手册
》。
链接:
本人论坛贴:《php内部字符串编码转换函数mb_convert_encoding使用方法介绍
》
- 大小: 137.6 KB
分享到:
相关推荐
PHP编码转换函数mb_convert_encoding与iconv用法__1.docx
PHP编码转换函数mb_convert_encoding与iconv用法_.docx
文字编码的转换mb_convert_encoding() mb_convert_encoding( $str, $encoding1,$encoding2 ) $str,要转换编码的字符串 $encoding1,目标编码,如utf-8,gbk,大小写均可 $encoding2,原编码,如utf-8,gbk,大小写均...
mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。不过英文一般不会存在编码问题,只有中文数据才会有这个问题。比如你用Zend Studio或Editplus写程序时,...
mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。
mb_convert_encoding函数就是那个可以自动识别原字符串编码的函数,但在使用中,发现GBK中的某些汉字被它转成了乱码。
本文实例讲述了php中的字符编码转换函数的用法,分享给大家供大家参考。具体实现方法如下: ...$str = mb_convert_encoding($str, “SJIS”); /* Convert EUC-JP to UTF-7 */ $str = mb_convert_en
mb_convert_encoding 函数为PHP内部多字节字符串编码转换函数。 可以在有需要的使用场合(如:解决在GB2312编码环境下使用Ajax产生的中文字乱码的问题)方便进行编码转换,以解决网页乱码的问题,使用非常方便,...
iconv是转换编码的,但是在中文转码时候出现显示不全问题。 复制代码 代码如下: iconv(“UTF-8″,”GB2312//IGNORE”,$data); 加上//IGNORE,忽略错误...$str = mb_convert_encoding($str, “UTF-7”, “EUC-JP”
另外mb_convert_encoding没有这个bug,所以最好的写法是: mb_convert_encoding($FormValues[‘a’], “gb2312”, “UTF-8”); 但是需要先enable mbstring 扩展库。 也可以把mysql数据库的collation设成utf-8就不...
主要介绍了php中字符集转换iconv函数使用总结,本文同时介绍了mb_convert_encoding函数,需要的朋友可以参考下
在php开发中有时候会用到转码函数,比如iconv(),mb_convert_encoding()函数,在用函数转码的时候或者解码的时候我们有时候需要先判断当前字符串编码类型,不如是否是utf-8编码,是的话然后进行编码转换等操作。...
//mb_convert_encoding函数是否存在 define(‘EXT_OBGZIP’, function_exists(‘ob_gzhandler’));//ob_gzhandler函数是否存在 define(‘TIMESTAMP’, time());//得到程序执行前的时间戳 $this->timezone_set();//...