Bonjour,

Je rencontre actuellement quelques soucis avec l'encodage des string. En effet, mon application web reçoit un paramètre pouvant contenir des caractères accentués (ex: myParam=congés)

Sous Firefox, ce paramètre est automatiquement convertit en "cong%E9s" et sous IE6, il reste à "congés".

Mon problème réside au niveau du code source de ma page ASPX qui ne reçoit ni "cong%E9s", ni "congés" mais "cong�s" par un appel à Request["myParam"]. Par contre, cela fonctionne correctement lorsque l'on spécifie "cong%c3%a9s" dans l'URL.

Pour information, mes pages ASPX sont encodées en UTF-8, le content-type est fixé à UTF-8 et mon web.config contient la ligne suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<globalization fileEncoding="utf-8" 
    responseHeaderEncoding="utf-8"
    requestEncoding="utf-8"
    responseEncoding="utf-8"
    culture="auto:en-US"
    uiCulture="auto:en-US"
    enableClientBasedCulture="true"/>
Savez-vous pourquoi Firefox encode automatiquement "é" en "%E9" et pas en "%C3%A9" ?

Comment faire pour récupérer la valeur derrière "%E9" dans mon code behind sachant que l'appel à Request["myParam"] me retourne le caractère � pour le moment ?

Merci d'avance pour vos réponses.