Les commentaires finissant par des balises markdown « ouvrantes » ou l'utilisation de caractères Unicode RIGHT-TO-LEFT OVERRIDE, LEFT-TO-RIGHT OVERRIDE et Egyptian Hieroglyph E001 posent problème dans la production de HTML valide.
Suivi - Commentaires Fermeture problématique de balises markdown
11
fév.
2012
# Source du problème
Posté par Bruno Michel (page perso) . Évalué à 3.
Le problème vient des caractères unicode en dehors du Basic Multilingual Plane. Le jeu de caractères 'utf8' de MySQL ne permet pas de les stocker et MySQL tronque alors la chaîne de caractères dès qu'il rencontre un tel caractère. Cela pose des problèmes. En particulier, cela laisse des balises HTML ouvertes mais non refermées.
Je vois deux solutions possibles :
[^] # Re: Source du problème
Posté par Bruno Michel (page perso) . Évalué à 3.
J'ai pris la deuxième solution encoder en entités HTML les caractères utf-8 sur 4 octets. Cf https://github.com/nono/linuxfr.org/commit/377ddb834f4b26f5ed2182a6421c742ace7ff4e3
[^] # Re: Source du problème
Posté par Bruno Michel (page perso) . Évalué à 4.
Exemple : 𓃒 et 𓃓.
[^] # Re: Source du problème
Posté par Thomas DEBESSE (page perso) . Évalué à 4.
Wah, merci ! vla nos deux vaches ! :)
[^] # Re: Source du problème
Posté par alenvers (page perso) . Évalué à 2.
http://www.google.com/𓃒
L'encodage n'est pas juste pour les urls :
http://www.w3.org/International/O-URL-code.html
Il faut encoder avec % toutes les octets de l'utf-8
[^] # Re: Source du problème
Posté par alenvers (page perso) . Évalué à 2.
Pour du plus à jour :
http://tools.ietf.org/html/rfc3986
When a new URI scheme defines a component that represents textual
data consisting of characters from the Universal Character Set [UCS],
the data should first be encoded as octets according to the UTF-8
character encoding [STD63]; then only those octets that do not
correspond to characters in the unreserved set should be percent-
encoded. For example, the character A would be represented as "A",
the character LATIN CAPITAL LETTER A WITH GRAVE would be represented
as "%C3%80", and the character KATAKANA LETTER A would be represented
as "%E3%82%A2".
[^] # Re: Source du problème
Posté par alenvers (page perso) . Évalué à 1.
tAISTE :
http://www.google.com/𓃒
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.