2010-11-04 45 views
0

Nous convertissons actuellement notre webapp en UTF-8 de ISO-8859-1. Et tout fonctionne bien mais demande des variables get/post à partir d'autres sites (formulaires d'inscription).Urlencoding de querystring différent basé sur la page de codes. ASP classic

Certains de ces sites qui affichent sur notre site ont l'encodage ISO-8859-1 et som ont UTF-8.

Le problème est que les caractères spéciaux sont codés différemment selon le jeu de caractères du site.

Par exemple: ø =% F8 dans la norme ISO-8859-1 ø =% C3% B8 en UTF-8

Je ne peux pas obtenir% F8 à droite quand j'ai charset UTF-8. Je reçois seulement un caractère Unicode "CARACTÈRE DE REMPLACEMENT" (U + FFFD).

Des conseils sur la façon de résoudre ce problème serait très apprécié :)

Torbjørn

Répondre

0

Vous pouvez spécifier l'encodage en utilisant explicitement <form accept-charset="UTF-8">.

Si vous ne voulez pas faire cela, le navigateur doit deviner l'encodage que vous voulez. Pour cela, il faut généralement l'encodage de la page dans laquelle le formulaire est. Donc, si vous servez les fichiers HTML en tant que UTF-8, vos formulaires seront également renvoyés sous la forme UTF-8.

+0

Merci pour votre réponse! Ok, il n'est donc pas possible de convertir l'encodage sur notre serveur? Il y a beaucoup de formulaires postés chez nous, et je n'ai pas accès à eux. –

+0

Pas si vous n'êtes pas celui qui sert le formulaire en premier lieu. Ce qui ne semble pas être. – Grubsnik

0

Je vous suggère de faire une analyse préalable des entrées avant de les convertir. Essentiellement, recherchez les codes iso-8859-1 pour Æ, Ø et Å (majuscules et minuscules). Si vous en trouvez, effectuez une recherche/remplacement pour l'ensemble de la requête, où vous permutez les codes iso-char aux codes UTF-8.

+0

Hmm, vous voudrez peut-être vérifier si l'un des charcodes ISO correspond à quelque chose de pertinent en UTF-8. – Grubsnik

+0

Y a-t-il des cours que vous connaissiez qui seraient en mesure de faire ce genre de travail ou aurais-je besoin de collecter chacun des personnages avec lesquels j'ai des problèmes? –

+0

Je ne connais pas de cours particulier qui va le faire pour vous. Puisque vous êtes en train d'écraser tout caractère qui se trouvait dans la spécification UTF-8 avec le caractère spécial dont vous aviez besoin. – Grubsnik