浏览 3044 次
锁定老帖子 主题:抓取网页时转换字符集出现问题(问题已解决)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-26
用ruby写个网页抓取的小东东,遇到问题: 环境:ubuntu8.04+netbeans6.1+ruby1.8.6 在ruby中使用Net::HTTP.get_response抓取一个GB2312编码的网页后转换成utf8全是乱码,主要代码部分如下 resp=Net::HTTP.get_response(URL,URI) body=resp.body[0,resp.size-1] r=Iconv.iconv("UTF-8//IGNORE","GB2312//IGNORE",body) 接下来我要使用r中的内容 但是发现里面的内容全是乱码,直接写入数据库写不进去,提示有非法字符。 如果要抓取的网站的编码是utf-8,不用iconv转换,直接存入数据库,完全正常。 请问: 1、问题出在哪里?是Iconv转换有问题?还是get_response时就要做什么处理? 2、另:ruby直接连接mysql如何指定使用utf-8连接?(非rails)
问题已解决:原来它服务器端采用gzip压缩传输的,客户端gunzip一下就行了。 dbh.query("SET NAMES 'utf8'") 发送给mysql即以utf8连接了 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |