WEB 應用或多或少總會用到AJAX 請求,而有時AJAX 請求會出現一些問題:比如編碼問題,明明輸入的是中文咋到數據庫就成“???”了呢?
爲此我總結了一下處理此類事情的方法:
1. 使用encodeURI() 函數將字符串作爲 URI 進行編碼:
前端encodeURI(encodeURI(string)); 後臺java.net.URLDecoder.decode(str,"utf-8")
2.如果以上還未解決那就有可能是各個瀏覽器請求處理不一樣所致,可以使用contentType來解決
在AJAX請求 添加
$.ajax({
type:"POST",
url : 路徑,
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success:function(data){
}
});
3.如果以上還未解決這個問題,數據庫還是編碼問題;那就有可能是數據庫問題了
第一檢查你創建數據庫的語句是否有設置編碼:
create database 數據庫名 default character set utf8 default collate utf8_general_ci;
如果這個也沒有解決,那就請看一下你的數據庫如MYSQL
找到my.nin文件查看配置是否是UTF8
default-character-set = utf8
character-set-server = utf8
好啦如果以上還沒解決或者幫到你,那麼我也沒辦法了