PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 27 → Caractères codés en hexa UTF8 vers une chaine
Caractères codés en hexa UTF8 vers une chaine
Iniciado por TheCout, 07,jul. 2022 11:36 - 1 respuesta
Miembro registrado
76 mensajes
Popularité : +1 (1 vote)
Publicado el 07,julio 2022 - 11:36
Bonjour,

J'ai du XML avec desc caractères UTF8 codés en hexa. Exemple:

<test>\xe2\x80\x99</test>


Ce code hexadécimal représente la "vraie" apostrophe, savoir:

Comment convertir cette chaine contenant de tels caractères UTF8 représentés de cette manière vers une chaîne classique qui contiendra les caractères correspondants (cette "vraie" apostrophe dans mon exemple)
<test></test>
Miembro registrado
76 mensajes
Popularité : +1 (1 vote)
Publicado el 07,julio 2022 - 11:48
Bon j'ai trouvé : il faut remplacer \x par des pourcents et ensuite utiliser Decode avec le paramètre encodeURLVersUTF8 et ensuite UTF8VersChaine:

soit v_chn_Entree = "<test>\xe2\x80\x99</test>"
soit v_chn_Resultat = UTF8VersChaîne(Decode(Remplace(v_chn_Entree, "\x", "%"), encodeURLVersUTF8))
Info(v_chn_Resultat)


Bon par contre il faut faire attention qu'il n'y ait pas de caractères pourcent dans la chaîne initiale. Dans ce cas, je suggère de les remplacer par une chaîne improbable avant (du genre "_POURCENT_") et après la conversion, de faire le remplacement inverse (remplacer "_POURCENT_" par "%")
Mensaje modificado, 07,julio 2022 - 11:49