web開發中的亂碼處理

2022-09-06 08:42:07 字數 957 閱讀 2057

1. 使用jquery的ajax方式提交請求時, 如果不指定type: "post", 那麼ajax預設就使用get方式提交, ie會使用gbk編碼,而其它瀏覽器會使用utf-8編碼, 

而在伺服器端預設情況下,會使用iso-8859-1進行解碼。如果,提交的引數中有中文, 那麼在後台伺服器程式中,就會出現中文亂碼,

歸根揭底,這個還是由於客戶端與伺服器端編碼不一致造成的.

解決方式:

在伺服器端進行編碼設定, 對於tomcat,可以修改conf/server.xml檔案,新增 uriencoding=utf-8,然後重啟伺服器,這種方式只是所有get請求有效.

2. 如果使用ajax物件傳送post請求,伺服器端仍然是使用iso-8859-1編碼的,這時要 在伺服器 端的程式中進行處理,如果使用的是servlet開發可以

增加request.setcharacterencoding("utf-8"); 如果採用其它方式(如struts2),

在程式中可以將接收到的引數進行轉碼,

string  parmater = new string(receiveparamater.getbytes("iso-8859-1"),"utf-8");

3. 鏈結位址包含了中文引數值,如何處理?

如果鏈結位址包含了中文引數值,瀏覽器會按照開啟該 頁面的編碼格式來對中文引數值進行編碼。

解決辦法:

方式一:

step1, 伺服器設定 uriencoding=utf-8

step2, 保證頁面開啟的編碼是utf-8 (例如在.jsp檔案第一行增加

<%@page pageencoding="utf-8" contenttype="text/html;utf-8"%>

方式二:

step1, 伺服器設定 uriencoding=utf-8

step2, 對中文引數值使用urlencoder.encode

方法進行utf-8編碼。

web中中文亂碼的處理

在計算機中,只有二進位制的資料,不同字元對應二進位制的規則,就是字元的編碼。常用字符集 ascii碼 iso8859 1碼 gb2312和gbk unicode utf 8 出現亂碼的解決方案 1 以post方法提交的資料中有中文字元,可以在獲取請求引數值之前,呼叫request.setcharac...

Web開發中中文亂碼的問題

在web 開發中經常會遇到中文亂碼問題。先系統地說明一下,主要從兩個方面 原理,操作。中文常用的編碼格式 gbk 和 utf 8 而乙個完整的web 應用包括 資料庫 持久層 控制層 頁面顯示層。所以只有在保持四層中編碼格式一致即可解決亂碼問題。資料庫中,以mysql 為例。安裝時,系統預設編碼為l...

JAVA WEB開發中處理亂碼彙總

在開發中難免會遇到中文顯示亂碼的問題,亂碼問題是乙個很棘手的問題,常常令程式設計師抓狂。現在把我使用的幾種解決亂碼的方案和大家共享!一 表單提交的亂碼處理 表單提交分為get和post兩種提交方式。兩種方式的亂碼解決又不一樣,用post提交只需要在接受的時候加上request.setcharacte...