浏览 367 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-05-30
用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连接了 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |


