$c变量用来存储采集来的字符串,其它我采集来的字符串为gbk编码,因为程序需要要转换为utf-8格式,
但下午程序老是出错,经过测试是由于花小二之间的空白造成的错误,请各位老师运行以下程序测试一下,
会报错。但不知道空白字符到底是什么。如何解决这个问题,本来想用str_replace函数来把这个空白替换成空
但考虑到抓取页面好多的时候效率问题,所以没这做,请教大家,希望得到大家的帮助。
<?php
$c = "花小二";
echo iconv("gbk","utf-8",$c);
?>
但下午程序老是出错,经过测试是由于花小二之间的空白造成的错误,请各位老师运行以下程序测试一下,
会报错。但不知道空白字符到底是什么。如何解决这个问题,本来想用str_replace函数来把这个空白替换成空
但考虑到抓取页面好多的时候效率问题,所以没这做,请教大家,希望得到大家的帮助。
<?php
$c = "花小二";
echo iconv("gbk","utf-8",$c);
?>
解决方案 »
- php实现快速排序的问题?
- header("location".$url)不能用于if语句中?
- 急急急,js5秒调用一次test.php js怎么写 没分了哪位帮帮忙
- 在PHP中,http_post_data和http_put_data的用法(实例)?
- 一个小问题 大家来看看
- 高分:找懂PHP的帮忙翻译下代码成asp.net
- 干了5年web开发,最近找工作不顺利,ubi面试机会都不给,似乎是闲我跳多了-----你跳了几跳(散分)?
- win7 sp1搭建PHP环境,PHP连接不到mysql,很奇怪
- 高分,急,
- 求一个正则的写法
- 高手进来!!!菜鸟求助!!!
- file_get_contents获得的内容为空?
<?php
header("Content-Type:text/html;charset=utf-8");
$c = "花小二";
echo iconv("gbk","utf-8//IGNORE",$c);
?>这样可以把"花小二"显示出来,但是中间的空格没有了
不知道中间的空格到底是什么符号。
for($i=0;$i<strlen($c); $i++)
printf("%02X ", ord($c[$i]));out:
BB A8 A8 FB D0 A1 B6 FE 可能由于多次转贴的原因,码值已经变化了
此类问题最好是帖出 base64 的串
從這方面看還是字符集的問題,假設在採集時沒有出錯的前提,花和小之間是一個字,但在你的編碼中找不出字來。
1.你先看下所採集析對象語言和字符類型
2.讓你的採集程序與對方的字符類型保持一致
3.你的php的文件也要相應的字符類型
这种字符在不同字符集中会出现很多问题.
其实在IE下你看是空白字符,拿到ff中就可以看到,是无法显示的一个小框框或者是其它.
用mb_convert_encoding来转换字符集,会发现它是一个?号,可能表明是无法识别.如2楼所示,直接ignore就是了.