在 webhook (XML) 触发器之后,我有一个 PHP 代码进行以下处理:
$xmlData = fopen('php://input' , 'rb');
while (!feof($xmlData)) { $xmlString .= fread($xmlData, 4096); }
fclose($xmlData);
file_put_contents('orders/order' . date('m-d-y') . '-' . time() . '.xml', $xmlString, FILE_APPEND);
我还将这些信息传输到数据库:
$xml = new SimpleXMLElement($xmlString);
$address1 = trim($xml->{'billing-address'}->address1);
$sql="INSERT INTO `Customers`(`address1`)
VALUES
('$address1')";
我的问题是 xml 文件和数据库的字符没有正确传输。
原始声明:圣保罗
保存在服务器上的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<address1>São Paulo</address1>
数据库信息(utf8_general_ci):
圣保罗
一切似乎都正确设置为 UTF-8,但我仍然有这个字符问题。