Spring MVC réponse problème de codage de
Dans les dernières heures, j'ai beaucoup lu à ce sujet, et pour l'instant, rien n'a fonctionné. Je suis en train de retourner la réponse contenant "bizarre" de certains personnages. Voici à titre d'exemple, assez simple :
@ResponseBody
@RequestMapping(value="test")
public String test(){
String test = "čćžđš";
System.out.println(test);
logger.info(test);
return test;
}
C'est mon web.xml, parce que j'ai trouvé quelques réponses où CharacterEncodingFilter aidé(pas dans mon cas). J'ai utilisé la méthode POST, car j'ai lu ceci s'applique à la POSTE.
Aussi trouvé ce réponse(relié). N'a pas aidé.
Quand je debug il la valeur correcte s'affiche, mais quand j'ai l'impression qu'il n'est pas comme on peut le voir ci-dessous:
Quand je l'ai tester de jmeter, la réponse semble être OK, Content-Type
est text/html;charset=UTF-8
Voici une capture d'écran de ce que bien. http://i56.tinypic.com/14lt653.jpg
Je pense que la bonne façon est de retour en UTF-8, peut-être que je me trompe.
OriginalL'auteur ant | 2011-07-09
Vous devez vous connecter pour publier un commentaire.
Après quelques jours de cela j'ai juste eu le "who's your daddy moment". Il est venu à la lecture de printemps 3.0 référence, je n'avais rien d'autre à essayer alors pourquoi ne pas parcourir toute la documentation.. et la combinaison de @axtavt réponse :
Qui définit le contenu de la réponse-type de Spring MVC (@ResponseBody)
Changé solution originale :
:
Sacrément printemps!!! mais encore, je vais continuer à l'utiliser.
OriginalL'auteur ant
Ma solution simple:
et la vue html_utf8.jsp
Pas de classes supplémentaires et de la configuration.
Et Vous pouvez également créer un autre point de vue (par exemple json_utf8) pour tout autre type de contenu.
OriginalL'auteur Trung
Au lieu @ResponseBody utilisation ResponseEntity.
OriginalL'auteur Michał
Je vois deux problèmes dans la livrée de réponse.
La réponse est clairement juste du texte, mais votre réponse-tête content-type est en train de dire c'est du HTML.
À en juger par la longueur du contenu de la réponse, le contenu n'a pas été codé en UTF-8.
FWIW - le
CharacterEncodingFilter
ne va pas aider avec votre problème, car il s'agit de l'encodage de la demande de ne pas la réponse.Je pense que le problème, c'est que vous avez besoin pour configurer le message de convertisseur pour le corps de la réponse. Cependant, il semble que votre demande déjà fait quelque chose dans ce domaine, car le comportement par défaut de la StringHttpMessageConverter est d'utiliser "text/plain", comme son type de contenu.
OriginalL'auteur Stephen C