日期:2014-05-18  浏览次数:20697 次

tomcat5.5 +eclipse +structs 中文
工程运行环境是tomcat5.5 +eclipse +structs 
 在页面1.jsp中,我将变量放到form中,接下来到test.java中使用这些变量,最后跳到2.jsp中。在test.java我用的是 
String input_corpname=request.getParameter("org_name"); 这个方法取得变量,但是打印的时候出现乱码, 
注: 
在1.jsp和2.jsp中看头部分如下 
<%@ page contentType="text/html; charset=GBK" 
pageEncoding="GBK"%> 

还有就是我在tomcat4.1中运行同样的程序,却能够出来正确的结果,也可以显示中文的字符,换到5.5下不知道出现什么问题了 
请教大侠解决问题 
谢谢!!!

------解决方案--------------------
把tomcat的字符集改下:<Connector 
port="8888" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" 
disableUploadTimeout="true" URIEncoding="GBK"/>
修改端口的标签里面修改字符集编码
------解决方案--------------------
//将ISO编号转为GBK编号。
static public String iso2gb(String str) { 
if (str != null) { 
byte[] tmpbyte=null; 
try { 
tmpbyte=str.getBytes("ISO8859_1");} 
catch (UnsupportedEncodingException e) { 
System.out.println(e.getMessage());} 
try { 
str=new String(tmpbyte,"GBK"); } 
catch(UnsupportedEncodingException e) { 
System.out.println(e.getMessage());} 

return str; 
}