gpt4 book ai didi

PHP: UTF 8字符编码

转载 作者:可可西里 更新时间:2023-11-01 00:12:01 26 4
gpt4 key购买 nike

我使用 cURL 抓取 RSS 提要列表,然后使用 SimpleXML 读取和解析 RSS 数据。然后将排序后的数据插入到 mySQL 数据库中。

但是,正如关于 http://dansays.co.uk/research/MNA/rss.php 的通知我有几个字符显示不正确的问题。

例子:

âGuitar Hero: Van Halenâ Trailer And Tracklist Available

NV 10/10/09 – Salt Lake City, UT 10/11/09 – Denver, CO 10/13/09 –

在将数据插入数据库之前,我曾尝试对数据使用 htmlentities 和 htmlspecialchars,但这似乎无助于解决问题。

我怎样才能解决我遇到的这个问题?

感谢您的任何建议。

已更新

我已经尝试了 Greg 的建议,但问题仍然存在...

这是我用来在 PDO 中设置名称的代码:

$dbh = new PDO($dbstring, $username, $password); 

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$dbh->query('SET NAMES "utf8"');

在将 simplexml 数据排序并插入数据库之前,我对它做了一些回应,现在我相信它与 cURL 有关...

这是我对 cURL 的看法:

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');

$data = curl_exec($ch);

curl_close($ch);

$doc = new SimpleXmlElement($data, LIBXML_NOCDATA);

问题已解决

我必须将 RSS/HTML 页面中的内容字符集设置为“UTF-8”才能解决此问题。我想这不是真正的解决方法,因为原始数据中仍然存在字符问题。期待在 PHP6 中对它的适当支持!

最佳答案

您的页面以 UTF-8 格式提供,所以我会指责数据库。

在任何 SELECT 或 INSERTS 之前确保连接是 UTF-8 - 在 MySQL 中:

SET NAMES "utf8"

关于PHP: UTF 8字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1260937/

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