mb_convert_encoding编码调换函数,php中字符集调换

用iconv函数:

iconv函数库能够做到各样字符集间的转变,是php编制程序中不可缺点和失误的底蕴函数库。

iconv( "utf-8", "gb2312" , "abc阳光123");

用法如下:

蜚言那样好些,能够忽略调换时的失实!

复制代码 代码如下:

iconv( "utf-8", "gb2312//ignore" , "abc阳光123");

$string = "款待访谈脚本之家!";
iconv("utf8","gbk",$string)//将字符串string  编码由utf8转换成gbk;

mb_convert_encoding的用法见官方:

扩展如下:

做一个gbk to utf-8

复制代码 代码如下:

< ?php
header("content-type: text/html; charset=utf-8");
echo mb_convert_encoding("小编的友仔", "utf-8", "gbk");
?>

echo $str= '应接访谈脚本之家!';
echo '<br />';
echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
echo '<br />';
echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
print_r(iconv_get_encoding()); //得到当前页面编码音信
echo iconv_strlen($str, 'UTF-8'); //得到设确定人员编制码的字符串长度
//也会有如此用的
$content = iconv("UTF-8","gbk//TRANSLIT",$content);

再来个gb2312 to big5

备注:

< ?php
header("content-type: text/html; charset=big5");
echo mb_convert_encoding("你是本身的仇敌", "big5", "gb2312");
?>

1、iconv不是php的暗许函数,也是暗中认可安装的模块。需求设置手艺用的。

而是要选拔方面包车型大巴函数必要安装可是要求先enable mbstring 扩充库。

举例是windows2000+php,你能够修改php.ini文件,将extension=php_iconv.dll前的";"去掉,同期您要copy你的原php安装文件下的iconv.dll到您的winnt/system32下(假设你的dll指向的是以此目录,我本地的未有操作这一步)
在linux景况下,用静态安装的方法,在configure时扩张一项 --with-iconv就能够了,phpinfo看获得iconv的项。(Linux7.3+Apache4.06+php4.3.2);

php中的别的三个函数iconv也是用来改变字符串编码的,与上函数作用相似。

到此php中的iconv 介绍实现

上面还或者有一对详尽的例子:
iconv — convert string to requested character encoding
(php 4 >= 4.0.5, php 5)
mb_convert_encoding — convert character encoding
(php 4 >= 4.0.6, php 5)

2、用iconv函数把抓取来过的utf-8编码的页面转成gb2312, 开采唯有用iconv函数把抓取过来的多寡一转码数据就能够无故的少一些。原因是那般的:

用法:
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
需要先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉
mb_convert_encoding 能够钦命各类输入编码,它会基于剧情自动识别,不过举办效用比iconv差太多;

复制代码 代码如下:

string iconv ( string in_charset, string out_charset, string str )

在乎:第贰个参数,除了能够内定要中间转播到的编码以外,还能增添七个后缀://TRANSLIT 和 //IGNORE,当中 //TRANSLIT 会自动将无法直接转账的字符产生三个或多少个近乎的字符,//IGNORE 会忽略掉不可能转化的字符,而暗许效果是从第4个地下字符截断。 被截断了,当然就能够少了;

能够那样修改iconv("UTF-8","GB2312//IGNORE",$string)  会忽略掉不能够转化的字符;

附加:

PHP中的mb_convert_encoding与iconv函数介绍

mb_convert_encoding那一个函数是用来转变编码的,和iconv函数大约。

意大利共和国语日常不会存在编码难题,独有汉语数据才会有那几个标题。比方您用Zend Studio或Editplus写程序时,用的是gbk编码,若是数额须求入数据库,而数据库的编码为utf8时,那时将要把多少举办编码转变,不然进到数据库就能成为乱码。

mb_convert_encoding的用法见官方:

做一个GBK To UTF-8

复制代码 代码如下:

<?php
header("content-Type: text/html; charset=Utf-8"); //设置字符的编码是utp-8
echo mb_convert_encoding("我的", "UTF-8", "GBK");
?>

再来个GB2312 To Big5

复制代码 代码如下:

<?php
header("content-Type: text/html; charset=big5");
echo mb_convert_encoding("朋友", "big5", "GB2312");
?>

然则要选择方面的函数需求设置不过急需先enable mbstring 扩展库,道理照旧长久以来的,修改php.ini。
PHP中的其余二个函数iconv也是用来转变字符串编码的,与上函数成效相似。

上面还应该有一对详细的事例:

复制代码 代码如下:

iconv — Convert string to requested character encoding
(PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — Convert character encoding
(PHP 4 >= 4.0.6, PHP 5)

用法:

string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )

需要先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉
mb_convert_encoding 能够内定八种输入编码,它会依靠内容自动识别,但是执行功能比iconv差太多,那干什么还要批注那些 mb_convert_encoding()函数呢?答案如下:

察觉iconv在转换字符”—”到gb2312时会出错,若无ignore参数,全数该字符后边的字符串都无助被保留。不管怎么,这几个”—”都没有办法儿调换来功,相当小概输出。 别的mb_convert_encoding未有那一个bug.

日常情况下用 iconv,唯有当遭逢不大概显然原编码是何种编码,只怕iconv转化后无法正常展现时才用mb_convert_encoding 函数.

您只怕感兴趣的篇章:

  • PHP编码调换函数 自动转变字符集补助数组转变
  • PHP通过iconv将字符串从GBK转变为UTF8字符集
  • php字符集转变

本文由365bet体育在线官网发布于关于计算机,转载请注明出处:mb_convert_encoding编码调换函数,php中字符集调换

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。