標籤:
近日使用ajax請求springmvc後台查詢mysql資料庫,頁面顯示中文出現亂碼
最初在mybatis配置如下
?
| 123 |
<select id="queryContentById" resultType = "java.lang.String" parameterType="String" > select text from News where id=#{o} </select> |
其中表News的text欄位為blob類型
如此查出的text值在控制台中一直顯示亂碼。
之後google尋找相關resultType=blob相關內容無果,遂將其改為resultType = "java.util.Map" ,且
?
| 12 |
byte[] b = (byte[]) map.get("text");String s = new String(b,"utf-8"); |
列印出s,此時中文正常顯示,但頁面顯示依舊亂碼。
因此處為ajax請求,遂檢查回應標頭資訊,查出如下
Content-Typetext/html;charset=ISO-8859-1
由於資料庫中統一為編碼為utf-8,故修改回應標頭資訊
| 1234567 |
@RequestMapping(value = "/queryContentById", method = RequestMethod.GET,produces = "text/plain;charset=UTF-8")public @ResponseBody String queryContentById(@RequestParam("id") String id) throws SQLException, UnsupportedEncodingException { Map map = (Map) ndrService.queryContentById(id); byte[] b = (byte[]) map.get("text"); String s = new String(b,"utf-8"); return s;} |
請參看以下資料:
http://www.itnose.net/detail/6074493.html
springmvc mybatis mysql blob中文亂碼問題處理