如何處理中文引數
為什麼表單中會產生中文亂碼
產生亂碼,就是因為伺服器和客戶端溝通的編碼不一致造成的,因此解決的辦法是:在客戶端和伺服器之間設定乙個統一的編碼,之後就按照此編碼進行資料的傳輸和接收
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配置檔案所在的路徑,並複製該路徑 接著,在電腦中開啟這個...