Décoder de l'UTF8 en ASCII

Résolu
cs_bmag Messages postés 10 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 13 juin 2006 - 12 juin 2006 à 17:35
cs_bmag Messages postés 10 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 13 juin 2006 - 13 juin 2006 à 13:02
Je développe un CGI en VB6 (et oui, on peut ... ;) ) mais je rencontre une difficulté à traiter les données issues de la STDIN (Méthode POST du formulaire). En effet, les données sont en UTF-8 "étendu" et non en UTF-8 tout court

En gros, le caractère ascii "é", codé sur 1 octet, pour valeur 233 en unicode a pour valeur C3 A9 en UTF-8 à savoir Ã(c). Bon je ne sais pas si c'est bien retranscrit, masi il s'agit d'un A majuscule avec une tilde suivi du symbole copyright.
Sauf que dans mon cas, je reçois en remplacement du "é" non pas ces deux caractères contigus mais la chaine %C3%A9, soit 6 caractères que les fonctions de conversion ignorent royalement (conversion par MultiByteToWideChar).
Quelle est la bonne méthode pour convertir les données issues du formulaire sur une page web en ASCII dans un CGI en VB6 ?
A voir également:

4 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
12 juin 2006 à 18:06
Salut
J'ai été confronté à ce problème aussi tout récemment.
Je te livre les liens chez qui j'ai trouvé de l'aide.
http://cryptosys.net/pki/index.html
http://www.cs.tut.fi/~jkorpela/chars.html
Transformer UTF-8 <--> UTF-16 : http://www.cyberactivex.com/
et http://www.cyberactivex.com/UnicodeTutorialVb.htm
Idem : http://www.nonhostile.com/howto-convert-byte-array-utf8-string-vb6.asp
Il existe une solution assez sympa qui consiste à utiliser les fonctions natives de VB.Net dans VB6 : http://www.motobit.com/tips/detpg_convert-charset-vbnet/

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
3
Rejoignez-nous