gpt4 book ai didi

php - 如何确保我的所有内容都是 UTF-8 并解决编码问题?

转载 作者:行者123 更新时间:2023-11-30 23:08:16 24 4
gpt4 key购买 nike

我从不同的网站获取了一些内容,其中一些发送了这种内容类型的 header :

Content-Type: text/html; charset=utf-8

其他

Content-Type: text/html

我使用了一个使用请求库的 Python 脚本来批量检查编码:

for site in sites:
r = requests.get(site)

print r.encoding

它为一些网站打印了 UTF-8,为其他网站打印了 ISO-8859-1,我将这些结果存储在 mysql 数据库中,排序规则是 latin1_swedish_ci 这是默认设置(我正在使用 XAMPP)。

问题是这些文章有一些特殊字符,例如 é ë ü ï 对于某些网站,这些字符变成这样 ë 应该是 ë,其他的工作正常。

我正在寻找的是在这两种情况下获得相同结果的解决方案,我搜索并发现了一些在这两种情况下都不起作用的解决方案,如果字符串没问题,它就会变得困惑:

$str = "ë";

echo utf8_decode($str);

首先我对这个问题感到抱歉,但我不得不发布它是因为我对编码一无所知,所以我该怎么做才能得到相同的结果?

如果重要的话,我正在使用 QueryPath解析这些网站的 html,我将作为选项传递 array('convert_to_encoding' => 'utf-8');

最佳答案

将数据库排序规则设置为 utf8_unicode_ci (phpMyAdmin > 选择数据库 > 操作 > 整理)。这种字符编码可以处理比 latin1 更广泛的“奇异”字符。

您可能需要再次重新插入带有狡猾字符的内容。

自从对我的数据库使用此排序规则并在我的 HTML 文档中使用正确的 UTF-8 字符集元标记以来,我从未遇到过不可靠的字符显示问题:

<meta charset="utf-8">

结合这两个操作应该可以解决问题。

关于php - 如何确保我的所有内容都是 UTF-8 并解决编码问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20905385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com