我在这个网站上搜索了很多答案,但没有一个对我有用。我正在尝试使用 PHP simplexml_load_string 解析以下 XML。
我的 XML 是:
<?xml version="1.0" encoding="utf-8"?>
<address>
<name>Peter</name>
<country>Großbritannien</country>
</address>
当我使用 print_r 打印它时,结果如下所示:
SimpleXMLElement Object
(
[name] => Peter
[country] => Großbritannien
)
当我使用 ini_set('default_charset', 'UTF-8') 或 header('Content-Type: text/html; charset=utf-8') 结果是:
SimpleXMLElement Object
(
[name] => Peter
[country] => Großbritannien
)
但是,当我尝试在数据库(MySQL)中使用 PHP(标头设置为 utf8)插入国家/地区值时,它以 Großbritannien 的形式插入。我的表字符集是 UTF8,列的排序规则是 utf8_unicode_ci。但是,当我直接将国家/地区值插入表中(使用 phpMyAdmin 或终端)时,它会正确插入。
我想知道为什么没有从我的 PHP 解析页面正确插入国家值。
我的 PHP 示例代码如下:
$notificationXml = simplexml_load_string($xml);
$con = $notificationXml->country;
mysql_query("INSERT INTO test_1 (con) values ('$con')");
请帮帮我。提前谢谢大家。