|
主题:[ICMS]utf8空格采集发布为???的原因 [收藏主题] |
最近发现有些页面内容为UTF-8编码。从设置采集规则到正式采集都非常顺利,页面内容被完整地抓取过来并存发布到科讯net里,不过内容中出现很多“问号”,这些“问号”就是UTF-8编码下的空格,而有些utf8的空格正常。 为了解决这个问题我查找了些资料,说其中的原因:在UTF-8编码里面存在一个特殊的字符,其编码是“0xC2 0xA0”,转换成字符的时候表现为一个半角空格,跟一般的半角空格(ASCII 0×20)不同的是它的宽度不会被压缩,所以排版中常能用到它。但是GB2312、Unicode之类并没有这样的字符,所以转换后会显示为“?”号,只是显示为问号而不是真正的问号,所以无法被替换! 搜索到的解决办法(问题是还是不知道怎么解决啊),在正式采集之间,先临时采集一个页面,取出其中的“?”空格这个字符,并将该字符存入“缓存”中,然后就开始正式的采集工作了,每采到一个页面就拿“缓存”中的字符进行全文替换,替换成常规的“ ”空格。速度稍微慢一点但效果很好! |
|
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |