PHP の DOM 関数を使用して XML ドキュメントを生成したいのですが、CDATA を使用して中国語を含めてもエラーが発生します。
.php');
$owen1=' 学生の作品';
$result=$conn->query("select * from news where BigClassName='$owen1 ' 制限 4");
if ( $result)
{
$dom = new DOMDocument('1.0','UTF-8');
$dom->formatOutput=true;
$rcs = $dom- >createElement("rss");
while ($row=$result->fetch_assoc()){
//print_r($arr)
$rc = $dom->createElement("channel") );
$mydate=$dom->createElement("タイトル");
$myname = $dom->createElement("リンク"); ;
$myhp=$dom-> createElement("item");
$date=$row['title'];
$datetext = $dom->createTextNode('');
$mydate- >appendChild($datetext);
$nametext=$dom->createTextNode($name);
$hptext=$ dom->createTextNode($hp);
$myhp->appendChild($hptext);
$mydescription->appendChild($descriptiontext); $rcs->appendChild($rc);
$rc->appendChild($myname);
$rc->appendChild($myhp); ->appendChild($mydescription);
}
$dom->appendChild($rcs);
実行すると、フォーマットされていない文字が存在することを示すプロンプトが表示されます。最新のニュースで見つけた問題を修正するにはどうすればよいですか?
ディスカッションへの返信 (解決策)
さらに、私の PHP ファイルのエンコードは gb2312 です
XML を記述するときは、utf-8 でエンコードされたデータを使用する必要があります
2 つの解決策:
1. コード内のデータベースから読み取られたデータはすべて、iconv 関数を使用してトランスコードされます
$date = iconv('gbk', utf-8', $row['title']);
$conn-> query("set nemes utf8");
その他はすべて変更されません