關於這個問題得分get請求和post請求兩種不同的方式來解決
get請求
1 爲什麼會產生亂碼
ie瀏覽器是用gbk來編碼的,其他瀏覽器是用utf-8來編碼的,而服務器是用iso-8859-1來解碼的
2 如何解決
首先在服務器端上
打開服務器的conf文件夾下的server.xml文件,找到<connector URIEncoding="utf-8">這個標籤 在這個標籤裏添加上。
其次在請求端用encodeURI函數對請求進行編碼。
xhr.open('get',encodeURI(check_name?username=username),true);
post請求
1 爲什麼會產生亂碼
瀏覽器都是用utf-8來編碼,而服務器用iso-8859-1來解碼
2 如何解決
在servlet中用request.setCharacterEncoding("utf-8") 來解碼
用response.setContentType("text/html;charset=utf-8") 來編碼來解決