spring mvc開發過程當中的亂碼問題

在保證jsp,xml,數據庫,編輯器編碼一致的狀況下。html

1,用戶輸入中文,後臺接收到也是中文,可是保存到數據庫時亂碼,mysql

解決方法:ajax

連接數據庫的url="jdbc:mysql://localhost:3306/lr"spring

加上編碼設置,修改成:url="jdbc:mysql://localhost:3306/lr?characterEncoding=UTF-8"sql

且在配置數據庫鏈接池時加上一個配置項:useUnicode="true"數據庫

2,用戶輸入中文,get方式請求後臺獲取內容亂碼,這個通常狀況下是服務器的編碼設置的問題,服務器

解決方法:app

在服務器的server.xml配置項的:jsp

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />編輯器

加上編碼配置,修改成:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>

3,ajax後臺返回到前臺時中文亂碼,

解決方法:

在spring MVC的Controller:

@RequestMapping(value = "xxxx", method = RequestMethod.GET)

public @ResponseBody String a(@RequestParam("email") String email) {


    return "我是返回給前臺的中文字符串";
}

加上produces = "text/html;charset=UTF-8",修改成:

@RequestMapping(value = "xxxx", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")

public @ResponseBody String a(@RequestParam("email") String email) {


    return "我是返回給前臺的中文字符串";
}

以上就是目前遇到的亂碼問題解決辦法,至於其餘的亂碼,大部分多是先後臺編碼不一樣意形成的,

只要一開始將顯示層,配置信息,編輯器和數據庫等各處的編碼方式設置統一了,遇到亂碼問題仍是不多的。

相關文章
相關標籤/搜索