Leed icon indicating copy to clipboard operation
Leed copied to clipboard

Problème avec certains caractères spéciaux

Open Bagu opened this issue 3 years ago • 5 comments

Bonjour,

J'utilise la dernière version disponible sur git (mais le problème existait aussi avec la version 1.9.0) et certains titres laissent apparaitre le caractère ’ Il semble que ’ soit remplacé par ’ au lieu d'une apostrophe. Sauriez-vous comment corriger ce problème ?

Merci

EDIT : Je précise que cela n'arrive que dans les titres. L'article en lui même n'a pas ce soucis.

Bagu avatar Feb 13 '22 12:02 Bagu

Bon, ben en attendant une meilleure solution, j'ai fait ce qui suit... Dans Feed.class.php, ligne 104, remplacer : $event->setTitle($item->get_title()); Par : $event->setTitle(html_entity_decode(htmlspecialchars_decode($item->get_title())));

De ce que j'en ai vu, cela vient d'un flux ne respectant pas bien les normes. Donc simplepie encode ’ par ’

Bagu avatar Feb 17 '22 23:02 Bagu

Bonjour,

Aurais-tu le lien d'un flux que je regarde ça ? J'ai le problème actuellement sur Numerama mais le flux contient bien ’, pas besoin que SimplePie remplace quoi que ce soit. Je voudrais juste être sûr qu'on parle bien du même soucis.

Simounet avatar Feb 28 '22 21:02 Simounet

C'est sur numerama que j'ai le soucis. Comme dit précédemment, la modif fait le job, mais même si je n'ai pas eu de soucis, je préfère avoir un retour d'expérience d'un vrai dev ;)

Bagu avatar Feb 28 '22 21:02 Bagu

Ok, merci pour ton retour rapide et il n'y pas de vrai dév', toute aide est toujours appréciée ! Merci pour le code, je vais regarder de mon côté. ;)

Simounet avatar Feb 28 '22 21:02 Simounet

Je suis en train de tester ta solution de mon côté. Je ne vois pas pourquoi ça ne fonctionnerait pas. En attendant, j'ai corrigé les événements déjà présents en base en lançant ces commandes SQL :

UPDATE leed__event SET title=REPLACE(title, '’', '’') WHERE title LIKE "%’%";
UPDATE leed__event SET title=REPLACE(title, '…', '…') WHERE title LIKE "%…%";
UPDATE leed__event SET title=REPLACE(title, '—', '—') WHERE title LIKE "%—%";
UPDATE leed__event SET title=REPLACE(title, '–', '–') WHERE title LIKE "%–%";
UPDATE leed__event SET title=REPLACE(title, '’', '’') WHERE title LIKE "%’%";
UPDATE leed__event SET title=REPLACE(title, '&', '&') WHERE title LIKE "%&%";
UPDATE leed__event SET title=REPLACE(title, '″', '″') WHERE title LIKE "%″%";

La référence à la table leed__event peut changer en fonction du préfixe que tu as choisi.

Simounet avatar Feb 28 '22 22:02 Simounet

Je ferme ce ticket car j'ai poussé ton correctif sur la branche dev (f45f6987abf2eb9b591740444aa57ea778e0b658). Il sera dans la prochaine release v1.9.3. Merci pour ton aide !

Simounet avatar Sep 23 '22 20:09 Simounet