Je travaille avec Perl. J'ai des données enregistrées sur la base de données comme  “
Comment éviter les erreurs de séquence URI malformées?
et je veux échapper à ces caractères pour éviter d'avoir une erreur de séquence d'URI malformée sur le côté client. Cette erreur semble se produire sur le feu de renard seulement. Le correctif que j'ai trouvé lors de googling n'est pas d'utiliser decodeURI
, mais j'en ai besoin pour que les autres caractères s'affichent correctement.
Une aide? uri_escape
ne semble pas assez sur le côté serveur.
Merci d'avance.
Detalils: En perl je fais ce qui suit:
print "<div style='display:none;' id='summary_".$note_count."_note'>".uri_escape($summary)."</div>";
et sur le côté java script que je veux lire cette div et placez-le sur un autre endroit comme ceci:
getObj('summary_div').innerHTML= unescape(decodeURI(note_obj.innerHTML));
où le note_obj est le div caché qui a sauvé le résumé sur perl. Lorsque je supprime decodeURI le problème est résolu, je ne reçois pas d'erreur de séquence URI malformée sur le script java. Pourtant, j'ai besoin d'utiliser decodeURI pour les autres personnages.
Cette question semble être reproduit sur Firefox et IE7.
Pourquoi uri_escape ne semble pas être suffisant? Montre ce que tu as essayé. :) –
J'ai ajouté des détails sur le problème. – Luci
Voulez-vous dire que votre base de données contient un code UTF-8 incorrect? Ou voulez-vous dire que votre base de données contient UTF-8 qui est correct, mais il ressemble à ça quand vous le regardez avec un outil Latin-1? Pouvez-vous montrer les octets réels que vous avez là, surtout si vous n'êtes pas sûr de ce que cela signifie? – tripleee