PHP 中字符编码转换 iconv() 和 mb_convert_encoding() 的区别
来源:互联网 发布:优化语文教学五环节 编辑:程序博客网 时间:2024/05/19 00:52
近端遇到了字符串转化问题,发现PHP带了两种方法来转化,
iconv()
和mb_convert_encoding()
, 下面来说说他们的区别
1. mb_convert_encoding()
//官方文档string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
说明: 将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。
from_encoding用来指定当前str的字符集。它可以是一个 array 也可以是逗号分隔的枚举列表。 如果没有提供 from_encoding,则会使用内部(internal)编码,会根据内部编码一个一个的比较,速度上会慢,所以要尽量指定少的编码。
2.iconv()
//官方文档string iconv ( string $in_charset , string $out_charset , string $str )
将字符串 str 从 in_charset 转换编码到 out_charset。
可以在out_charset后面也可以添加后缀
//TRANSLIT: 将启用转写(transliteration)功能,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。//IGNORE: 不能以目标字符集表达的字符将被默默丢弃,IGNORE 会忽略掉不能转化的字符。 否则,会导致一个 E_NOTICE并返回 FALSE。
iconv() 在转换中文的 ‘——’ 时,如果不指定//TRANSLIT 或者 //IGNORE,是会出错的(mb_convert_encoding() 无此BUG)。
当指定了//TRANSLIT 或者 //IGNORE 时
3.比较
相比之下,当知道当前的字符集编码时,应当首选 iconv() (要设置//TRANSLIT 或者 //IGNORE避免出错), 当大概知道编码时要尽量少的枚举,因为这影像速度。
阅读全文
0 0
- PHP 中字符编码转换 iconv() 和 mb_convert_encoding() 的区别
- iconv、mb_convert_encoding字符编码的转换
- PHP iconv()函数和mb_convert_encoding()函数的区别(关于字符编码的函数)
- PHP iconv()函数和mb_convert_encoding()函数的区别(关于字符编码的函数)
- PHP下编码转换函数mb_convert_encoding与iconv的使用说明
- php中iconv和mb_convert_encoding…
- PHP iconv()字符编码转换的问题
- PHP字符串编码转码iconv与mb_convert_encoding用法和区别
- mb_convert_encoding 函数的使用 转换字符编码
- 字符编码的转换iconv
- php编码转换函数mb_convert_encoding
- linux中字符编码转换工具iconv
- 关于iconv字符编码的转换
- PHP使用mb_detect_encoding和iconv转换编码
- PHP 转换编码 iconv 的用法
- [转]php编码转换函数mb_convert_encoding
- PHP读取xml乱码 | 编码转换 mb_convert_encoding
- php处理多字节字符mbstring及编码转换iconv
- 逆波兰计算器
- 包装类
- 泛型基本使用
- pandas中时间序列——date_range函数
- linux top命令
- PHP 中字符编码转换 iconv() 和 mb_convert_encoding() 的区别
- 用于语义分割的全卷积网络 (fully convolutional networks for semantic segmentation)
- 堆棋子
- 我的划时代意义的递归题--Sudoku Killer
- 关于在SSM中使用注解的方式进行事务管理
- HTTP
- Java泛型详解
- Spring+Spring MVC+Mybatis整合配置AOP不生效的解决方案以及Bean初始化重复加载两次(疑难杂症)
- 3D和2D游戏开发技术里的坐标系总结