文档章节

iconv()和mb_conver_encoding()字符编码转换函数

ITCHN
 ITCHN
发布于 2016/12/20 09:42
字数 752
阅读 37
收藏 0

一.

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

— 将字符串 str 从 in_charset编码格式 转换到 out_charset编码格式

1.如果你在 参数out_charset 后添加了字符串 **//**TRANSLIT 表示:当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 2.如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。 输入图片说明

返回:返回转换后的字符串, 或者在失败时返回 FALSE

缺点:当遇到生僻字符时会被截断,所以需要设置第二个参数为//IGNORE 忽略不能被识别的字符

例如:在转换字符"—"到gb2312时会出错

echo iconv('GBK','gb2312',‘abc-cde’);

安装: 1.如果你使用了最新的 POSIX 兼容系统,则不需要安装其他程序,因为系统提供的 C 语言标准函数库肯定支持 iconv。否则,你必须在系统上安装 » libiconv 函数库 2.自 PHP 5.0.0 起,php配备了这个具有多种实用功能的扩展,来帮助您编写多语言脚本,默认已激活此扩展,默认已激活此扩展,但是它能够在编译时通过 --without-iconv 选项被禁用 选项指令 --with-iconv-dir 用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。 3.PHP 4 用户的注意事项 要激活这个扩展必须在编译时使用 --with-iconv=[DIR] ,或者对于 Windows 用户,可以放置 iconv.dll 于系统 PATH 中,并在 php.ini 中激活 php_iconv.dll。

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) --------将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。 如果没有提供 from_encoding,则会使用内部(internal)编码。

返回值:编码后的 string。

注意:1.使用上面的函数需要先安装先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉 2.mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多 3.发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug. 4.一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.

函数:

mixed iconv_get_encoding ([ string $type = "all" ] )

— 获取 iconv 扩展的内部配置变量 type 选项 type 的值可以是: all input_encoding output_encoding internal_encoding 返回值: 成功时返回当前内部配置变量的值, 或者在失败时返回 FALSE。 如果省略了 type,或者设置为 "all",iconv_get_encoding() 返回包含所有这些变量的数组。 Array ( [input_encoding] => ISO-8859-1 [output_encoding] => ISO-8859-1 [internal_encoding] => UTF-8 )

© 著作权归作者所有

共有 人打赏支持
ITCHN
粉丝 1
博文 97
码字总数 43324
作品 0
石家庄
程序员
私信 提问
php中iconv函数使用方法

最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 iconv函数库能够完成各种字符集间的转...

李世晨
2013/01/15
0
0
PHP中的mb_convert_encoding与iconv函数介绍

mbconvertencoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。 不过英文一般不会存在编码问题,只有中文数据才会有这个问题。比如你用Zend Stud...

李佳顺
2012/05/22
0
0
php转换字符串编码 iconv与mb_convert_encoding的区别

PHP判断字符串编码函数mbdetect_encoding总结 iconv — Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5) mbconvertencoding — Convert character encoding(PHP 4 >......

Junn
2013/08/12
0
0
thinkphp 分页编码出错 导致第二页分页sql查询乱码

点击第二页的时候 url 传值 变为gbk 导致sql 乱码 程序和数据库编码都是utf8. 以下是解决方案。 $keyword = $this->_param('key'); //mbcheckencoding 检查字符串在指定的编码里是否有效 //...

xinson
2014/04/12
0
0
PHP输出中文乱码解决:编码终结者

学习PHP之初,根本就没有意识到过有编码那回事儿,随着对中文的输出越来越多,遇到输出乱码的情况也就更加普遍了。最早我们怀疑是数据库编码的问题,于是在PHP代码中的解决的办法是: mysql_...

七彩极
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IOC的学习(1)

1.IOC理论概要 java中,一个对象A怎么才能调用对象B? 当一个对象的构建,需要多个其他对象时,对象和对象有复杂的构建关系。spring帮助我们维系对象的依赖关系,降低系统的实现成本,前提是...

杨健-YJ
23分钟前
1
0
Spring 的 getBean 方法源码解析

文本将从以下几个方面介绍 相关文章 FactoryBean 接口 BeanFactory 接口 BeanFactory 接口 和 FactoryBean 接口的区别 getBean 方法的源码解析 Spring 循环依赖的解决方式 相关文章 Spring 中...

TSMYK
26分钟前
0
0
李鸿章六百多字参倒豪门重臣,晚清第一奏折,藏尽顶级权谋话术!

道光二十七年(1847年),二十四岁的李鸿章高中进士,列二甲第十三名。 在此期间,有桩轶事挺有意思。 会试时,李鸿章的房师为当时的名士孙锵鸣。发榜后,孙锵鸣见自己这一房只考中了李鸿章、...

乔老哥
32分钟前
1
0
PTA-基础编程题目集-7-14 求整数段和

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。 输出格式: 首先顺序输出从A到B的所有整数,每...

niithub
33分钟前
4
0
Spring Qualifier的使用

摘要 spring 的 qualifier 平常使用一般直接是使用id 来限定,不过spring给我们提供了更强大的功能。 使用方法 直接使用 直接在@Qualifier中限定bean的id 在bean上使用@Qualifier来指定后续使...

52iSilence7
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部