php - 在 php 中使用 SimpleXMLElement 中的导出获取 Yaşam 而不是 Yaşam
问题描述
我正在尝试使用 SimpleXMLElement 导出 XML 并更改字符。
我尝试使用不同的编码,将 CDATA 作为字符串插入,但没有解决任何问题。
我错过了什么?
导出代码:
<?php
// Create a new XML
$xmlExport = new SimpleXMLElement('<Products/>');
// Add a new node.
$product = $xmlExport->addChild('Product');
// Adding Yaşam.
$product->addChild('Category');
$product->Category = "Yaşam";
// Exporting the new XML
$xmlExport->asXML('xml.xml');
?>
我得到的结果:
<?xml version="1.0"?>
<Products>
<Product>
<Category>Yaşam</Category>
</Product>
</Products>
预期结果:
<?xml version="1.0"?>
<Products>
<Product>
<Category>Yaşam</Category>
</Product>
</Products>
我解决了问题
我发现了问题,我在某处读到 SimpleXMLElement 默认使用 UTF-8 编码,在我的情况下似乎信息错误或不起作用。
我变了
$xmlExport = new SimpleXMLElement('<Products/>');
至
$xmlExport = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\"?><Products/>");
解决方案
我发现了问题,我在某处读到 SimpleXMLElement 默认使用 UTF-8 编码,在我的情况下似乎信息错误或不起作用。
我变了
$xmlExport = new SimpleXMLElement('<Products/>');
至
$xmlExport = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\"?><Products/>");
推荐阅读
- php - Symfony Serializer - 数组到对象的转换 - 每个字段的命名策略
- mysql - MySQL将两个表连接到n:m关系
- python - 制作一个聚集的条形图,Pandas
- javascript - Javascript 中的 Base64
- javascript - $.post 返回 net::ERR_EMPTY_RESPONSE
- azure - 在 Azure Data Lake Gen1 中复制文件/文件夹
- python - filedialog.askopenfilename() 在第二次执行整个代码时需要更长的时间来执行
- rust - 如何通过 FFI 公开编译时生成的静态 C 字符串?
- python - 树莓派 BeautifulSoup 库不工作
- scala - 如何避免在scala中返回