如何處理中文引數

2021-09-29 20:48:26 字數 1131 閱讀 1589

如何處理中文引數

為什麼表單中會產生中文亂碼

產生亂碼,就是因為伺服器和客戶端溝通的編碼不一致造成的,因此解決的辦法是:在客戶端和伺服器之間設定乙個統一的編碼,之後就按照此編碼進行資料的傳輸和接收

get中文亂碼

//獲取表單提交的姓名

string name=request.getparameter(「name」);

name=new string(name.getbytes(「iso-8859-1」),「utf-8」);

在tomcat7及以下客戶端以utf-8的編碼傳輸資料到伺服器端,而伺服器端的request物件使用的是iso-8859-1這個字元編碼來接收資料,伺服器和客戶端溝通的編碼不一致因此才會產生中文亂碼的。

解決辦法:在接收到資料後,先獲取

request物件以iso8859-1字元編碼接收到的原始資料的位元組陣列,然後通過位元組陣列以指定的編碼構建字串,解決亂碼問題。

tomcat8的版本中get基本就不會亂碼了,因為伺服器對url的編碼格式可以進行自動轉換

post亂碼

由於客戶端是以

utf-8字元編碼將表單資料傳輸到伺服器端的,因此伺服器也需要設定以utf-8字元編碼進行接收,並且必須在接收引數之前定義;

//設定請求引數的編碼格式–對get無效

request.setcharacterencoding(「utf-8」);

servlet輸出中文

1 頁面返回亂碼原因

瀏覽器識別不到返回的中文是什麼編碼格式,就會預設使用

gb2312,如果返回的是utf-8格式的那麼在瀏覽器上就會顯示亂碼的問題

2 如何解決內容中的亂碼

response.setcontenttype(「text/html;charset=utf-8」);

3 綜合設定

在接收引數值之前:

request.setcharacterencoding(「utf-8」);//設定請求的編碼

response.setcharacterencoding(「utf-8」);//設定響應的編碼

response.setcontenttype(「text/html;charset=utf-8」);//設定響應型別和響應內容

的編碼

Qt 應用如何處理拖放時的中文引數

你使用 qt 開發了乙個應用,使用者拖放乙個檔案到你的 exe 上,此時啟動你的應用,main 函式可能收到中文引數,如何正確處理呢?很簡單,如下 qtextcodec codec qtextcodec codecforlocale qstring arg codec tounicode argv ...

html中如何處理中文輸入

在處理使用者輸入標籤的文字時,平時我們都是用input propertychange事件進行操作和過濾,但有時候會出現處理中文的情況,在中文輸入時,使用者還沒有輸入他想輸入的中文,只是輸入了幾個拼音字元,但 input 事件也被觸發了,提示長度超過上限。那有沒有更好的方法避免這種情況呢?可以採用co...

如何處理SecureFX中的中文亂碼

分享給大家,也當作給自己記錄下來。首先,在securefx選單中選擇 options global options 然後,在 global options 視窗中,選擇 general configuration path 找到securefx配置檔案所在的路徑,並複製該路徑 接著,在電腦中開啟這個...