Maison  >  Questions et réponses  >  le corps du texte

java - spring responsebody 返回中文乱码

迷茫迷茫2720 Il y a quelques jours691

répondre à tous(6)je répondrai

  • PHP中文网

    PHP中文网2017-04-18 10:08:55

    Cela dépend aussi de l'encodage de votre conteneur Web... Il disparaîtra si vous marchez dessus.

    répondre
    0
  • 迷茫

    迷茫2017-04-18 10:08:55

    Fournit une prise en charge de l'encodage pour l'adaptateur d'encodage spring-mvc. Je me souviens bien que le nom de la balise est :

    <mvc:convertisseurs de messages>

    Les biens de

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:08:55

    1. spring mvc ajoute le support de Jackson

    2. Ajouter la configuration Spring MVC

    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg name="defaultCharset" value="UTF-8"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    ou remplacer StringHttpMessageConverter

    /* 将 */ public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
    /* 改 */ public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:08:55

    Utilisez d'autres outils de capture de paquets pour tester si le résultat de votre retour est en chinois UTF-8.
    Les problèmes surviennent souvent à la source ou à la dernière étape.
    Si la page est tronquée, votre page JSP ne définit pas le jeu de caractères "UTF-8".
    S'il y a des caractères tronqués dans la console du navigateur, utilisez F12 Network et regardez l'en-tête de réponse Content-Type = text/html, Encoding, etc.
    Il n'y a aucun problème avec ces liens. Il s'agit probablement d'un problème avec les paramètres de l'environnement String. Les réponses précédentes méritent votre référence.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:08:55

    Lors de l'utilisation de springmvc pour renvoyer le format json dans le projet, les caractères chinois étaient tronqués. J'ai regardé le code source de springmvc et j'ai découvert que l'encodage par défaut de la classe StringHttpMessageConverter est ISO-8859-1 (tragédie, pourquoi pas). Quelque chose d'aussi gros que springmvc n'utilise pas utf-8 ? C'est impossible) Comprendre)

    Voici la solution,

    fichier de configuration springmvc :

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
            <property name="messageConverters">   
                <list>   
                    <bean class = "org.springframework.http.converter.StringHttpMessageConverter">   
                        <property name = "supportedMediaTypes">
                            <list>
                                <value>text/html;charset=UTF-8</value>   
                            </list>   
                        </property>   
                    </bean>   
                </list>   
            </property>  
        </bean>
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> 
            <property name="messageConverters"> 
                <list>  
                    <bean class="org.springframework.http.converter.StringHttpMessageConverter"> 
                        <property name="supportedMediaTypes"> 
                            <list> 
                                <value>text/html; charset=utf-8</value> 
                            </list> 
                        </property> 
                    </bean>
                </list>  
            </property> 
        </bean>
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">   
            <property name="interceptors">  
                <list>     
                </list>  
            </property>  
        </bean>  
    

    Pour utiliser cette configuration, supprimez <mvc:annotation-driven /> de springmvc et n'utilisez pas la configuration d'initialisation par défaut de springmvc

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:08:55

    Avez-vous ajouté CharacterEncodingFilter ? Sinon, essayez de l'ajouter et voyez si cela ne fonctionne pas
    Si cela ne fonctionne pas :
    Quelle version de spirng et quelle version de tomcat utilisez-vous ?
    Et :
    Ce n'est pas aussi compliqué que ce qui est dit plus haut. . . Regarder les morceaux de XML est ennuyeux. . .

    répondre
    0
  • Annulerrépondre