2010-04-29 6 views
0

J'ai une page HTML, c'est encodée dans la norme ISO-8859-1 et un appel Prototype-AJAX qui Construisons comme ceci:Faire face à ISO-encodage dans les requêtes AJAX (prototype)

new Ajax.Request('api.jsp', { 
    method: 'get', 
    parameters: {...}, 
    onSuccess: function(transport) { 
     var ajaxResponse = transport.responseJSON; 
     alert(ajaxResponse.msg); 
    } 
}); 

Le api. jsp renvoie ses données dans ISO-8859-1. La réponse contient des caractères spéciaux (trémas allemands) qui ne s'affichent pas correctement, même si j'ajoute un "encodage: ISO-8895-1" à la requête AJAX. Est-ce que quelqu'un sait comment réparer ceci?

Si j'appelle api.jsp dans une nouvelle fenêtre de navigateur, les caractères spéciaux sont également endommagés. Et je ne peux pas obtenir d'informations sur le codage utilisé dans l'en-tête de réponse. L'en-tête de réponse ressemble à ceci:

Server Apache-Coyote/1.1 
Content-Type application/json 
Content-Length 208 
Date Thu, 29 Apr 2010 14:40:24 GMT 

Avis: Ne conseillez pas l'utilisation de UTF-8. Je dois faire face à ISO-8859-1.

Répondre

1

J'ai trouvé moi-même la réponse. Bien que ce soit pour PHP, je suis sûr que vous pouvez trouver l'équivalent pour ASP :)

En fait, il suffit d'inclure l'en-tête de codage sur votre page de réponse (dans votre api.asp cas), comme ceci:

header("Content-Type: text/html; charset=ISO-8859-1"); 

bonne chance avec elle :)

// Jannik Olsen

+0

Vous avez raison - il était aussi simple que cela, je l'ai déjà trouvé dehors. Merci quand même! – acme

Questions connexes