java中json傳輸數(shù)據(jù)亂碼的解決方法-創(chuàng)新互聯(lián)

本篇文章主要探討java中json傳輸數(shù)據(jù)亂碼的解決方法。有一定的參考價(jià)值,有需要的朋友可以參考一下,跟隨小編一起來看解決方法吧。

我們一直強(qiáng)調(diào)成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站對(duì)于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站建設(shè)公司不一定是大公司,成都創(chuàng)新互聯(lián)公司作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

1、對(duì)參數(shù)先進(jìn)行ISO-8859-1編碼,再以u(píng)tf-8解碼

    @RequestMapping(method=RequestMethod.GET)
    @ResponseBody
    public ResponseEntity<ResultModel> searchBorrows(String borrow_name) 
    throws UnsupportedEncodingException{
           //解決亂碼問題
         System.out.println("編碼前===:"+borrow_name);//亂碼
         String borrowName=new String(borrow_name.getBytes("ISO-8859-1"),"utf-8");
         System.out.println("編碼后:========="+borrowName);//正常

2、如果是一般的請(qǐng)求,(非ajax的json**請(qǐng)求亂碼**,直接在web.xml中配置中文過濾器) 如下:

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern><!-- 對(duì)請(qǐng)求項(xiàng)目下所有資源進(jìn)行過濾-->
    </filter-mapping>

在沒有用springmvc時(shí),也可添加該句解決post請(qǐng)求的亂碼問題:request.setCharacterEncoding(“UTF-8”);
注: tomcat8已經(jīng)把get請(qǐng)求的亂碼問題解決了,tomcat7還需自己解決

3、ajax的json數(shù)據(jù)亂碼

在項(xiàng)目中有時(shí)需要異步請(qǐng)求,可以在springmvc配置文件中,在注解實(shí)現(xiàn)的適配器和映射器標(biāo)簽中添加兩個(gè)轉(zhuǎn)換器即可,可解決對(duì)json數(shù)據(jù)請(qǐng)求和響應(yīng)的亂碼(如果tomcat編碼沒改,依然存在亂碼問題,所有出現(xiàn)亂碼是多方面的的)。

以下是配置spinngmvc中帶的兩個(gè)json轉(zhuǎn)換器,實(shí)現(xiàn)解決json數(shù)據(jù)請(qǐng)求和響應(yīng)亂碼問題。

<!-- 注解的適配器和映射器 -->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <!--@ResponseBody 中文響應(yīng)亂碼 -->
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>
                            text/plain;charset=UTF-8
                        </value>
                        <value>
                            text/html;charset=UTF-8
                        </value>

                        <value>
                            application/json;charset=UTF-8
                        </value>
                        <value>
                            application/x-www-form-urlencoded;charset=UTF-8                     
                        </value>
                    </list>
                </property>
            </bean>


<!-- JSON中文請(qǐng)求亂碼及解決 
HttpMediaTypeNotAcceptableException: Could not find acceptable representation  異常信息-->
            <bean id="jacksonMessageConverter"
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>
                            application/json;charset=UTF-8
                        </value>
                        <value>
                            application/x-www-form-urlencoded;charset=UTF-8                     
                        </value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

看完這篇文章,你們學(xué)會(huì)java中json傳輸數(shù)據(jù)亂碼的解決方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

本文題目:java中json傳輸數(shù)據(jù)亂碼的解決方法-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article44/djicee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)網(wǎng)站制作、軟件開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司App設(shè)計(jì)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司