2011-11-01 6 views
2

Est-ce que quelqu'un sait comment activer le jeu de caractères de réponse par le client pour RESTeasy? Je travaille avec 1.2.1GA. Mes réponses retour UTF-8, bien que je ne sais pas pourquoi et où cela est défini parce que mon encodage par défaut du système de test en java est CP1252-chose et les annotations ressemblais que:RESTeasy renvoie un codage de caractères différent JSON (P)

@GET 
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 

J'ai essayé de modifier ces mediatypes sans succès.

// Add another media type 
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, "application/json;charset=iso-8859-1" }) 

// Try to always return latin-1 JSON. TESTING ONLY!!! 
@Produces({ MediaType.APPLICATION_JSON + ";charset=iso-8859-1", MediaType.APPLICATION_XML }) 

Je demande avec REST Client pour la mise en Firefox le charset dans le accepter et Accept-Encoding têtes et encore j'obtenir toujours UTF-8 JSON. Mais le client qui a besoin des données va être inclus dans une page web de latin-1, ce qui est assez ... vous savez. Je ne peux pas influencer cela. Je voudrais éviter de ré-encoder tout cela manuellement dans JavaScript. De plus, la solution côté serveur me semble beaucoup plus solide.

J'ai également essayé d'autres choses que je ne m'attendais pas vraiment à travailler, comme changer le codage de caractères de réponse avec un filtre de servlet et ainsi de suite. (La nécessité est la mère de l'invention. ^^)

Google/le web n'ont pas grand-chose à offrir sur ce sujet, donc après des heures d'essai, je viens maintenant ici et j'espère que quelqu'un pourrait me dire comment cela est destiné à fonctionner ou si c'est même possible.

Tant, concerne

S.Frank

Répondre