データベースのデータから生成しているXMLファイルに問題があります。
UTF-8のエンコードタイプを指定しています。
ブラウザまたはデータベースで表示すると、é
文字を表しているように見えるテキストがあります。ただし、メモ帳++でXMLファイルを表示すると、[xE9]と表示されます。
これは私のXMLファイルの上部にある定義です:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
これは私のXMLファイルからの抜粋であり、問題を引き起こしている文字を示しています。これが以下のように非UTF-8文字として表示される理由については混乱していますが、これが私のXMLが無効である理由です。
<description><![CDATA[work appliqu顤ress. Picco three-quarter sleeved style. Cutwork appliqu顦eatures fitted, with side pockets.]]></description>
私のPHPスクリプトでは、htmlspecialchars関数を使用していますが、この文字を処理していないようです。
<description><![CDATA[<?php echo htmlspecialchars($product['product-description']) ?: 'CRMPicco Online'; ?>]]></description>
残念ながら、ファイルにはこの文字が存在するインスタンスが多数あるため、データベースからその1つの文字を削除することはできません。
これをPHPでクリーンアップできるはずですか?