1. 程式人生 > >Java中的中文亂碼問題

Java中的中文亂碼問題

jsp req 安裝路徑 漢字 mysql配置文件 rac name line 進行

客戶端向服務器發送請求時,有兩種方式post和get請求,當客戶端提交的內容有中文時。服務器要進行設置才能獲得中文,否則獲得的是亂碼。那麽怎麽設置呢:在servlet中進行設置,有兩種情況:1:請求時服務器獲得客戶提交的中文,

2:響應時客戶端瀏覽器得到響應的中文

1:服務器獲得客戶端提交的內容,兩種情況get和post請求

1)鏈接、Js等get請求中文亂碼處理方式

String username=new String(request.getParameter("username").getBytes("iso-8859-1"));

這樣表單中usename輸入的是漢字的話,再servle中用上述寫法得到的才不是亂碼

2)普通表單get請求中文亂碼處理方式

String username=new String(request.getParameter("username").getBytes("iso-8859-1"),"utf-8")

(2)Post請求

request.setCharacterEncoding("utf-8");--設置字符編碼

String username=request.getParameter("username");

2:在servlet中響應信息,將信息相應在客戶端瀏覽器上

就是客戶端瀏覽器要得到服務器響應的中文有兩種情況:但是第二種情況用在第一種情況中也行,所以以後都用第二種情況。

1)在jsp頁面中用Js或是域對象得到中文在輸出,在servlet中直接寫:

response.setCharacterEncoding("utf-8");

response.getWriter().print("用戶名輸入錯誤");

2)直接在servlet中做個輸出流

response.setContentType("text/html;charset=utf-8");

response.getWriter().print("用戶名123456");

==========================================

1:mysql中文亂碼?

1:進入數據庫--右擊數據庫----更改數據庫---更改格式
2:右擊表---更改表-----高級屬性---更改格式
3:在mysql配置文件中設置----mysql安裝路徑---my.ini配置文件--更改兩個屬性
default-character-set=utf8
character-set-server=utf8
註意:在MySQL中utf-8的寫法是utf8,如果寫成utf-8會報錯

Java中的中文亂碼問題