htmlspecialchars utf-8 renvoie une chaîne vide

Je suis en train de faire un .php générateur de flux RSS et j'ai un problème en essayant d'obtenir des données de ma base de données dans cette ligne:

<description><![CDATA[<?=htmlspecialchars(utf8_substr($row['texto'], 0, 100), ENT_QUOTES, 'utf-8') ?>...]]></description>

Certaines données montrent très bien, et d'autres, l'habitude de retourner n'importe quel texte... une idée sur ce qui pourrait être mauvais?

C'est tout le code:

<?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>

C'est un résultat qui renvoie une chaîne vide:

una vez en el colectivo (sentada en el asiento personne) me dormí y cuando doblo moi caí en el pasillo re mal! se mataron de la risa todos!! hasta el colectivero! Pasalo y comento con mi Facebook. E. P.

  • Donner un exemple de certains qui se traduit par le remboursement d'une chaîne vide.
  • Comment est utf8_substr défini?
  • J'ai mis à jour le post avec tout le code et un résultat... c'est Peut-être parce que les caractères accentués? "dormí". Est espagnol...
InformationsquelleAutor Santiago | 2012-06-18