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

2013-03-05 20:15:17 +08:00
 red
我用 http://simplepie.org 的库抓取RSS的时候遇到一个这样一个问题:

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



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

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

谢谢~
3256 次点击
所在节点    问与答
9 条回复
123123
2013-03-05 20:31:12 +08:00
检查数据库编码以及PHP的数据库连接编码
jacy
2013-03-05 20:33:49 +08:00
你看看抓取网页的源代码,估计内容就是这样。如果是这样,写数据库前用 mb_convert_encoding转换一下。
webgeekman
2013-03-05 21:50:39 +08:00
自以为处理过各种乱码,但面对此问题依然只有帮忙关注的份了。
red
2013-03-05 22:56:31 +08:00
@jacy $content = mb_convert_encoding($content, "UTF-8");

这样试过了,没有起到什么用
jacy
2013-03-05 23:14:25 +08:00
@red 你的第三个参数怎么不填啊?填HTML-ENTITIES
Mac
2013-03-05 23:19:09 +08:00
数据库字段也有编码的
cutehalo
2013-03-05 23:27:42 +08:00
这个是html实体字符
BOYPT
2013-03-06 09:06:57 +08:00
你的库是utf8了没啊,用数据库客户端连看是不是乱码啊,php里面的变量能被utf8显示嘛,你的输出网页是utf8嘛,文件编码和网页编码标记一致吗
red
2013-03-06 09:57:47 +08:00
@jacy $content = mb_convert_encoding($content, "UTF-8","HTML-ENTITIES");
这样做之后问题解决了,谢谢各位

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/62038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX