V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
red
V2EX  ›  问与答

PHP中UTF-8编码保存到数据库的问题

  •  
  •   red · Mar 5, 2013 · 3793 views
    This topic created in 4812 days ago, the information mentioned may be changed or developed.
    我用 http://simplepie.org 的库抓取RSS的时候遇到一个这样一个问题:

    可以抓到文章的正文数据,不过保存到数据库的时候所有的正文内容都变成了如下



    网上找到的资料大多都是说UTF-8编码的问题,不过我遇到过UTF-8编码的问题,显示的是???这样的,而不是像我今天遇到的这样。尽管直接输出这段来还是能够看的(浏览器会将它们解析成文字),不过在输出为RSS的时候又会遇到问题。

    搜索了很久,给的方法试过了都没有用,所以来求帮助了~

    谢谢~
    9 replies    1970-01-01 08:00:00 +08:00
    123123
        1
    123123  
       Mar 5, 2013
    检查数据库编码以及PHP的数据库连接编码
    jacy
        2
    jacy  
       Mar 5, 2013
    你看看抓取网页的源代码,估计内容就是这样。如果是这样,写数据库前用 mb_convert_encoding转换一下。
    webgeekman
        3
    webgeekman  
       Mar 5, 2013
    自以为处理过各种乱码,但面对此问题依然只有帮忙关注的份了。
    red
        4
    red  
    OP
       Mar 5, 2013
    @jacy $content = mb_convert_encoding($content, "UTF-8");

    这样试过了,没有起到什么用
    jacy
        5
    jacy  
       Mar 5, 2013   ❤️ 1
    @red 你的第三个参数怎么不填啊?填HTML-ENTITIES
    Mac
        6
    Mac  
       Mar 5, 2013
    数据库字段也有编码的
    cutehalo
        7
    cutehalo  
       Mar 5, 2013
    这个是html实体字符
    BOYPT
        8
    BOYPT  
       Mar 6, 2013
    你的库是utf8了没啊,用数据库客户端连看是不是乱码啊,php里面的变量能被utf8显示嘛,你的输出网页是utf8嘛,文件编码和网页编码标记一致吗
    red
        9
    red  
    OP
       Mar 6, 2013
    @jacy $content = mb_convert_encoding($content, "UTF-8","HTML-ENTITIES");
    这样做之后问题解决了,谢谢各位
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5087 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 03:55 · PVG 11:55 · LAX 20:55 · JFK 23:55
    ♥ Do have faith in what you're doing.