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

[php] 寻求一个高效完美的字符编码自动识别转换方法

  •  
  •   Doubear · 2014-10-11 16:06:19 +08:00 · 2886 次点击
    这是一个创建于 3731 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写小偷程序经常遇到这种坑爹问题
    国内的网站还有很多都是GBK编码的
    对于用惯了UTF8的我来说
    这就是个坑
    抓取的数据采用iconv()+//IGNORE来转换编码都还是会遇到问题,比如转换失败后一堆乱码
    网上查的mb_detect_encoding函数有的环境不支持
    艾玛、、求大神给支个招啊
    弄个完美点的
    拜谢!!!!!
    9 条回复    2014-10-11 18:50:21 +08:00
    xiaokai
        1
    xiaokai  
       2014-10-11 16:33:46 +08:00
    判断这个不就行了? <meta charset="UTF-8" />
    feiyuanqiu
        2
    feiyuanqiu  
       2014-10-11 16:36:11 +08:00
    @xiaokai 想听下思路...
    vibbow
        3
    vibbow  
       2014-10-11 16:40:32 +08:00
    @feiyuanqiu 如果网站没有标明meta charset,按GB2312算
    如果标明了,那就按标明的算
    Doubear
        4
    Doubear  
    OP
       2014-10-11 17:13:19 +08:00
    @xiaokai 可惜这不是QQ,不然我肯定发个吐血的表情给你 我要的是自动判断后的转换 转换编码才是重点啊~~~~
    oott123
        5
    oott123  
       2014-10-11 17:18:41 +08:00 via Android   ❤️ 1
    「有的环境不支持」不是你选择其它方案的理由…毕竟配个 mb 扩展相当之容易。
    另外,我建议的方案是,你看看 utf8 或者 gb2312 里汉字的编码范围,用 Unicode 正则检查一下文件里是不是有那些字符。
    nilai
        6
    nilai  
       2014-10-11 17:23:27 +08:00   ❤️ 1
    头像不错。。。。。。。。。。。。。
    xiaokai
        7
    xiaokai  
       2014-10-11 17:40:41 +08:00
    @Doubear 都拿到目标网页的编码了 转码还存在什么问题?
    fising
        8
    fising  
       2014-10-11 17:41:53 +08:00
    用 Unicode 正则检查一下文件里是不是有那些字符
    --------------------------------------------------------------------
    这个正解
    BGLL
        9
    BGLL  
       2014-10-11 18:50:21 +08:00   ❤️ 1
    Mozilla的 universalchardet
    FF用这个来预判网页编码

    http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2653 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:12 · PVG 20:12 · LAX 04:12 · JFK 07:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.