Home  >  Article  >  Backend Development  >  php内部字符串编码转换函数mb_convert_encoding使用方法引见

php内部字符串编码转换函数mb_convert_encoding使用方法引见

WBOY
WBOYOriginal
2016-06-13 13:25:29870browse

php内部字符串编码转换函数mb_convert_encoding使用方法介绍
http://hi.baidu.com/get52/blog/item/56f4d80336bf8ee208fa9307.html


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 编码字串
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("你是我的好朋友", "UTF-8", "GBK");
?>
2、把 UTF-8 编码字串转换成 GB2312 编码字串
// 注意将此文件存盘成  utf-8 编码格式文件再测试
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)扩展。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn