V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
crella
V2EX  ›  问与答

为什么某些网站还在用 gbk 作为网页编码

  •  
  •   crella · 2020-03-31 12:36:54 +08:00 via Android · 2418 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为什么某些网站还在用 gbk 作为网页编码?

    给某个基于 php 的论坛用 ruby 做爬虫,存进数据库再导出来发现其中一部分中文乱码了……

    在知乎某贴看到用 gbk 编码网页比用 utf-8 编码省带宽。但是现在大一点的网站不都是注重敏捷开发和百万并发的吗,用 gbk 编码的网页在修改的时候不会造成明显的麻烦的吗?
    9 条回复    2020-03-31 15:34:36 +08:00
    qiayue
        1
    qiayue  
       2020-03-31 12:41:44 +08:00
    因为这些网站是十年前开发的,没必要去重构改个编码就为了让爬虫好爬。

    另外,搞不定编码的爬虫,怕是还没入门吧
    crella
        2
    crella  
    OP
       2020-03-31 14:13:29 +08:00
    @qiayue 所以你认为的“爬虫入门”需要达到怎样的水平呢?
    b821025551b
        3
    b821025551b  
       2020-03-31 14:19:10 +08:00   ❤️ 2
    @crella #2 至少不会吐槽编码
    westoy
        4
    westoy  
       2020-03-31 14:27:45 +08:00   ❤️ 1
    固定的网站可以写死编码

    不是的话
    先从 http 头 content-type 里取编码, 没有就去 html 里找 meta content-type 标签取编码
    没有 or 用得到的编码解码出错, 就调用 chardet 、enca 之类的库猜编码
    tigerstudent
        5
    tigerstudent  
       2020-03-31 14:33:13 +08:00 via Android
    哪有那么多百万并发的站


    4 楼说得对。
    Gakho
        6
    Gakho  
       2020-03-31 15:10:43 +08:00
    @westoy #4 人家说了,做的 ruby 爬虫 ……
    jugelizi
        7
    jugelizi  
       2020-03-31 15:21:27 +08:00 via iPhone
    我也觉得 做图像识别 亚洲人还好
    非拉的就不行 人类不能都黄皮肤吗
    crella
        8
    crella  
    OP
       2020-03-31 15:28:07 +08:00 via Android
    @Gakho 其实并不是什么大事,一时分不清网页编码而已。

    我正在试着用 ruby 的中文分词插件,rmmseg-cpp 返回的中文文本可以打印出正确的中文,但是既不是 ascii-8bit,也不是 gbk 或 utf-8,这个更加坑爹。不过想想也是七八年前的库了,没人维护也就算了。

    目前在用 jieba_rb,感觉没什么大坑。

    nlpir 的 euby 插件的 win 版本与 ruby2.6 的 fiddler 不兼容。
    qq292382270
        9
    qq292382270  
       2020-03-31 15:34:36 +08:00
    discuz 论坛程序,十几年了,还有 gbk 版本.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   976 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:30 · PVG 04:30 · LAX 12:30 · JFK 15:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.