用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些.代码如下:
- <?php
- echo $str= '你好,这里是卖咖啡!';
- echo '<br />';
- echo iconv('GB2312', 'UTF-8', $str);
- 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);
- ?>
iconv(“UTF-8″,”GB2312//IGNORE”,$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
这个iconv()这个函数,在php5中是内置的.