在php中解决字符编码转换,可以编写自定义的php函数进行字符编码解码,但是对性能有一定影响,并且要针对每种字符编码编写专用的函数; 这里介绍在php中有简便易用的专用函数:
1.使用iconv函数转换字符编码,该函数仅能在PHP4.0.5以上版本或PHP5.x版本使用,具体用法如下:
$string=iconv(原字符编码, 字符输出编码, $string);
例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。
echo iconv(“uft-8”, “gbk”, “php编码转换”);
在实际使用中,iconv函数在转换时存在一点小bug,在转换字符串中含有”—”时会出错,导致字符串无法转换,使用//IGNORE参数可以忽略转换中的字符错误,样例如下:
echo iconv(“uft-8”, “gbk//IGNORE”, “php编码转换”);
2.使用mb_convert_encoding函数,该函数仅能在PHP4.0.6以上版本或PHP5.x版本使用,使用之前必须enable mbstring,具体用法如下:
$string=mb_convert_encoding($string, 字符输出编码, 原字符编码);
例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。
echo mb_convert_encoding(“php编码转换”, “gbk”, “utf-8”);
windows下mbstring安装配置请参看这里 windows下PHP 激活mbstring扩展及php.ini中相关基本设置
总结:推荐使用mb_convert_encoding函数,该函数无iconv转换字符错误问题。
延伸阅读
- codeigniter-for-rapid-php-application-development.chm
- 隐藏apache和php的版本
- PHP session回收机制及php.ini session生命期gc_maxlifetime配置/gc_maxlifetime无效
- php+MSSQL的坑:(n)varchar型字段被截断
- PHP时间戳函数总结一览
- php版本(5.3,5,5,7.0)及运行模式(fast-cgi/fpm,apache模块)之间性能对比测试
- PHP开源搜索引擎
- php在中url处理方面很有用的几个函数
- PHP IP地址函数 ip2long()返回值为负数对策
- php使用iconv进行从utf-8转为gb2312字符编码出错解决方案
- 中文化和国际化问题权威解析之一:字符编码发展历程
- php函数mult_iconv:转换任意维数组的字符集编码(扩展iconv函数功能)
- iconv转换UTF-8编码出错: iconv: 未知 xxx 处的非法输入序列
- 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
- 浅谈Base64编码
0 条评论。