加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 黑钻石问号与某些角色的丢失

发布时间:2020-12-13 16:43:25 所属栏目:PHP教程 来源:网络整理
导读:我已经读过这个问题并且之前遇到过,但我还没有找到解决方案.我有一个新闻聚合器,从RSS提要中提取新闻.在显示内容后,我得到了黑钻石问号,所以经过一些研究后,我添加了以下代码行( PHP): $content = mb_convert_encoding($content,'UTF-8','HTML-ENTITIES');
我已经读过这个问题并且之前遇到过,但我还没有找到解决方案.我有一个新闻聚合器,从RSS提要中提取新闻.在显示内容后,我得到了黑钻石问号,所以经过一些研究后,我添加了以下代码行( PHP):

$content = mb_convert_encoding($content,'UTF-8','HTML-ENTITIES');

这很成功地解决了这个问题,但是看到另一篇带有一些带有重音符号的西班牙语单词的文章,我注意到这些重音已被转换为时髦的角色.他们之前看起来很好.例如,现在我看到类似的东西:

吉纳?ticas

现在我宁愿有第二个问题因为它没有那么多,但理想情况下我想解决这两个问题.我的MySQL表是UTF-8,以及页面的doctype.有任何想法吗??

解决方法

您正在从多个Feed中提取数据,因此您无法依赖所有使用相同字符编码的Feed.

XML feed应该宣告它们在XML前导码中的字符集,并且服务器应该发送标题,说明文件正在使用的字符编码,但它们并非必然存在,如果它们不确定是准确的.

您可以使用mb_detect_encoding来尝试找出您正在解析的文件使用的编码,但同样,这并不是100%肯定是准确的.

因此,如果你的目标是将你正在处理的所有提要标准化为同一个字符集(我猜UTF 8),你的选择是查看XML前导码,标题(如果已经发送了相应的标题)和结果mb_detect_encoding来确定编码.如果以上所有内容都同意你(但不一定)很清楚文件的编码方式以及转换它需要做什么.如果这些方法之间存在分歧,那么您必须自己决定采取什么行动.

总之,欢迎来到charset地狱.你喜欢吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读