關於后台數據庫正常存儲中文通過Ajax方式傳遞到前台變成問號的處理


我的一個程序,用到的后台數據庫是MySql,字段是Varchar類型,Character Set是utf8,字段能且已經正確存儲了中文。

從數據庫取出信息后,在后台Java代碼里Debug看到了正確的中文。

但是,通過Ajax方式將信息傳到前台,前台顯示??,用alert查看也是兩個問號。

看頁面編碼方式,<%@ page contentType="text/html; charset=UTF-8"%> 和<meta charset="utf-8"/>都有了。

回去看看Action里的處理,發現有三句對Response的重要處理忘卻了,它們是:

        response.setContentType("text/xml;charset=UTF-8");
        response.setHeader("Cache-Control", "no-cache");
        response.setCharacterEncoding("UTF-8");

把這三句話放在

        PrintWriter out =getPrintWriter(response);

前頭就好了。

 

就是這些,希望對遇到和我一樣問題的人有所幫助。

2017年1月9日15:52:37

此文可以與 JS傳中文到后台需要的處理 對照着看。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM