基于php iconv函数的使用详解

2015-01-24信息快讯网

本篇文章是对php中iconv函数的使用进行了详细的分析介绍,需要的朋友参考下

unix下安装PHP的module,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的dll就可,例如,需要加入gb库的支持,需要如下设置:
extension_dir = "C:/ipaddr/php/extensions/"
(注意,建议写全地址,并且后面加上/,很多时候是因为这里设置不对,才导致无法加载其它模块的dll的)
再打开
extension=php_gd2.dll
但如果是安装iconv.dll,按上面方法,打开php_iconv.dll后,还是无法开启iconv模块,需要如下配置:
a.上iconv的官方下载站点
http://ftp.gnu.org/pub/gnu/libiconv/
下面Windows版的iconv文件:libiconv-1.9.1.bin.woe32.zip
将这文件解压,将bin/下面的charset.dll,iconv.dll,iconv.exe拷贝到c:/windows/ (或其它的系统PATH中)
(ipaddr提醒你,这步是必须的,php_iconv.dll也是调用GNU的iconv库的,所以,先要安装GNU的iconv库)

b.开启php.ini里面的php_iconv.dll

c.重启Apache,再在phpinfo();检测是否开启iconv。
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"―"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
以下为引用的内容:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

这个iconv()这个函数,在php5中是内置的.谢谢.

列子

<?php
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); ?>

php制作unicode解码工具(unicode编码转换器)代码分享
linux实现php定时执行cron任务详解
解决file_get_contents无法请求https连接的方法
php使用curl发送json格式数据实例
Server.HTMLEncode让代码在页面里显示为源代码
关于JSON以及JSON在PHP中的应用技巧
json的键名为数字时的调用方式(示例代码)
CodeIgniter生成网站sitemap地图的方法
php file_get_contents抓取Gzip网页乱码的三种解决方法
PHP file_get_contents设置超时处理方法
php读取本地文件常用函数(fopen与file_get_contents)
phpmyadmin config.inc.php配置示例
PHP中mb_convert_encoding与iconv函数的深入解析
php生成zip压缩文件的方法详解
PHP页面间参数传递的四种方法详解
PHP在不同页面间传递Json数据示例代码
PHP rawurlencode与urlencode函数的深入分析
coreseek 搜索英文的问题详解
使用cookie实现统计访问者登陆次数
使用session判断用户登录用户权限(超简单)
探讨如何把session存入数据库
简单的cookie计数器实现源码
探讨PHP JSON中文乱码的解决方法详解
强烈声明: 不要使用(include/require)_once
探讨多键值cookie(php中cookie存取数组)的详解
探讨file_get_contents与curl效率及稳定性的分析
深入php函数file_get_contents超时处理的方法详解
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
解析php中mysql_connect与mysql_pconncet的区别详解
基于Zend的Config机制的应用分析
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
linux iconv方法的使用
linux系统上支持php的 iconv()函数的方法
PHP通过iconv将字符串从GBK转换为UTF8字符集
php iconv() : Detected an illegal character in input string
©2014-2024 dbsqp.com