我做了.PHP RSS生成器,我有一個問題想在這一行從我的數據庫獲取數據:用htmlspecialchars UTF-8返回空字符串
<description><![CDATA[<?=htmlspecialchars(utf8_substr($row['texto'], 0, 100), ENT_QUOTES, 'utf-8') ?>...]]></description>
一些條目顯示就好了,和其他人不會返回任何文字...任何想法可能是錯誤的?
這是所有代碼:
<?php
require('php/config.php');
require('php/db.php');
require('php/utils.php');
header("Content-type: application/xml");
$db = new TSQL('SELECT * FROM entradas WHERE estado = 1 ORDER BY fecha DESC LIMIT 20');
if ($db->executeQuery()) {
?><?='<?xml version="1.0" encoding="utf-8" ?>' ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tu Secreto</title>
<link>http://www.tusecreto.com.ar/</link>
<description>TuSecreto/No se lo cuentes a nadie, contaselo a todos</description>
<language>es-ar</language>
<copyright>TuSecreto (C) 2005-<?php print strftime("%Y", time()); ?></copyright>
<lastBuildDate><?=strftime("%a, %d %b %Y %H:%M:%S ", $row['fecha']) ?></lastBuildDate>
<atom:link href="http://www.tusecreto.com.ar/rss.php" rel="self" type="application/rss+xml" />
<docs>http://www.tusecreto.com.ar/rss.php</docs>
<generator>TuSecreto RSS Generator v1.0</generator>
<ttl>10</ttl>
<? while ($row = $db->getRow(MYSQL_ASSOC)) { ?>
<item>
<title><?=($row['sexo'] == MUJER)?'Mujer':'Hombre' ?> | <?=$row['edad'] ?> <?="A\xC3\xB1os" ?></title>
<description><![CDATA[<?=htmlspecialchars(utf8_substr($row['texto'], 0, 100), ENT_QUOTES, 'utf-8') ?>...]]></description>
<link>http://www.tusecreto.com.ar/<?=$row['id'] ?></link>
<guid isPermaLink="true">http://www.tusecreto.com.ar/<?=$row['id'] ?></guid>
<pubDate><?=strftime("%a, %d %b %Y %H:%M:%S ", $row['fecha']) ?></pubDate>
</item>
<?php } ?>
</channel>
</rss>
這是一個結果,它返回一個空字符串:
UNA VEZ EN EL colectivo(sentada EN EL asiento個人)我dormíÿ寬多多寶我caíen el pasillo re mal! se mataron de la risa todos !! hasta el colectivero! Pasalo y comento con mi Facebook。 E.P.
給出一些導致返回空字符串的示例。 –
如何定義'utf8_substr'? – Gumbo
我已更新所有代碼和一個結果的帖子...也許是因爲重音字符? 「dormí」。西班牙語是...... – Santiago