Jsp/Servlet接收FORM表格引數時輸出亂碼的處理 (轉)

amyz發表於2007-08-15
Jsp/Servlet接收FORM表格引數時輸出亂碼的處理 (轉)[@more@]

1.關於接收FORM引數的亂碼:

<!--/*為了4用JSP產生中文亂碼問題,定義一個轉換getStr() !--&gt
public String getStr(String str){ 
  try {String temp_p=str; 
  byte[] temp_t=temp_p.getBytes("ISO8859-1"); 
  String temp=new String(temp_t); 
  return temp; 
  } 
  catch(Exception e){ } 
  return "NULL";

%>
<!---------------------The end ----------------------*/--&gt

2.關於接收Form引數的亂碼.

名:ThreeParams. 內容如下:


package moreservlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ThreeParams extends HttpServlet { //定義一個函式getStr(),用來解決接收form引數亂碼問題 public String getStr(String str){ try{String temp_p=str; byte[] temp_t=temp_p.getBytes("ISO8859-1"); String temp=new String(temp_t); return temp; } catch(Exception e){ } return "NULL"; } //--接收form傳來的三個引數,並顯示。注意,第三個引數沒有轉換,可以用來對比. public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { response.setContentType("text/html;charset=GB2312"); PrintWriter out =response.getWriter(); String docType= " "; out.println(docType+ " "+ " "+ getStr(request.getParameter("param1"))+"
"+ getStr(request.getParameter("param2"))+"
"+ request.getParameter("param3")+"
"+ "

你好,JAVA世界!!我是Servlet小!!

"+ ""); } }


3.如何處理用jConnect連線時中文亂碼的問題:

  確保資料庫使用中文字符集,如 eucgb, utf8, cp936, 同時, 在 jconnect 時設定必要的連線屬性, 包括 charset (要求與資料庫保持一致) 和 jconnect_version. 

  例如: 

  jconnect 4.2: 

  jc:sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=4 

  jconnect 5.2: 

  :sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=0

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958299/,如需轉載,請註明出處,否則將追究法律責任。

相關文章