Jsp/Servlet接收FORM表格参数时输出乱码的处理

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

1.关于JSP接收FORM参数的乱码:

<%@ page contentType="text/html;charset=GB2312" %>

<!--/*为了TOMCAT4用JSP产生中文乱码问题,定义一个转换函数getStr() !-->

<%!

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 ----------------------*/-->

2.关于Servlet接收Form参数的乱码.

文件名:ThreeParams.java 内容如下:

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=

"<! DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+

"Transitional//EN\">\n";

out.println(docType+

"<HTML>\n"+

"<BODY>\n"+

getStr(request.getParameter("param1"))+"<BR>"+

getStr(request.getParameter("param2"))+"<BR>"+

request.getParameter("param3")+"<BR>"+

"<center><h1>你好,JAVA世界!!我是Servlet服务器小程序!!</H1></center>\n"+

"</BODY></HTML>");

}

}

3.如何处理用jConnect连接Sybase数据库时中文乱码的问题:

确保数据库使用中文字符集,如 eucgb, utf8, cp936, 同时, 在 jconnect 编程时设定必要的连接属性, 包括 charset (要求与数据库保持一致) 和 jconnect_version.

例如:

jconnect 4.2:

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

jconnect 5.2:

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航