<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
out.println(new String(rs.getString("fx").getBytes("GB2312"), "iso-8859-1"));
网页上显示出来的是 “ ´󍊴󍊽荊½荊 ”!
rs.getString("fx")中的"fx"是sqlserver2000中的char(2)字段。
而且我还发现客户端反馈回的页面使用的是unicode编码格式,而且无法更改为“简体中文”编码格式。
如果使用 System.out.println(rs.getString("fx")); 方法却可以在tomcat控制台中正确打印出“借”或“还”。
14 个解决方案
#1
<%@ page contentType="text/html; charSet=GBK"%>
out.println(new String(rs.getString("fx").getBytes("GB2312"), "GBK"));
out.println(new String(rs.getString("fx").getBytes("GB2312"), "GBK"));
#2
错了。
out.println(new String(rs.getString("fx").getBytes(), "GBK"));
out.println(new String(rs.getString("fx").getBytes(), "GBK"));
#3
<%@ page contentType="text/html; charSet=gb2312"%>
//try this
out.println(rs.getString("fx"));
//try this
out.println(rs.getString("fx"));
#4
回 icecloud(冰云) ( ) 信誉:131 :
不行。
回 chanceqw() ( ) 信誉:100 :
之前已经试过,不行。
不行。
回 chanceqw() ( ) 信誉:100 :
之前已经试过,不行。
#5
我在struts里面就是直接读SQL server 2000里的中文
不需要任何转换
不需要任何转换
#6
这篇文章也许对你有帮助
http://www.mhdn.net/p/2002-08-02/5603.html
http://www.mhdn.net/p/2002-08-02/5603.html
#7
http://expert.csdn.net/Expert/topic/2231/2231845.xml?temp=.1760675
方法很多的!
#8
清回答问题的大哥们先看清我已使用过的方法,以上你们所建议的方法我在提问时已经注明试过了。
#9
将<%@ page contentType="text/html; charSet=gb2312"%>这一句去掉试试。
#10
经常看见问中文问题的,为什么不使用utf-8编码呢?所有的中文问题都迎刃而解。何必那么麻烦呢?况且,utf-8不但支持简体中文,还支持繁体中文,日文,韩文
!!!!!!!!!!!!!!!!推荐使用utf-8编码!!!!!!!
!!!!!!!!!!!!!!!!推荐使用utf-8编码!!!!!!!
#11
<%@ page contentType="text/html; charSet=gb2312"%>
这一句有与没有 客户端都默认采用unicode编码格式,而且不能更改为“简体中文”编码。
如果使用utf-8编码格式是不是只要在头加上
<%@ page contentType="text/html; charSet=utf-8"%>
这一句就可以了?我也试过了,还是乱码。
可是我奇怪的是如果使用 System.out.println(rs.getString("fx")); 方法却可以在tomcat控制台中正确打印出“借”或“还”,说明在向数据库读取该字段时没有错误,可为什么就是在html页面总显示乱码呢!
这一句有与没有 客户端都默认采用unicode编码格式,而且不能更改为“简体中文”编码。
如果使用utf-8编码格式是不是只要在头加上
<%@ page contentType="text/html; charSet=utf-8"%>
这一句就可以了?我也试过了,还是乱码。
可是我奇怪的是如果使用 System.out.println(rs.getString("fx")); 方法却可以在tomcat控制台中正确打印出“借”或“还”,说明在向数据库读取该字段时没有错误,可为什么就是在html页面总显示乱码呢!
#12
没人会了?
斑竹呢?出来帮帮忙呀。
斑竹呢?出来帮帮忙呀。
#13
你定义一个METHOD
加个方法:
<%!public getStr(String str) throws Exception
{ try{
String temp=str;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBK");;
}catch(Exception e)
{
}
%>
然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
String text=null;
if(request.getParameter("text")!=null&&request.getParameter("text")!="")
{
text=getStr(request.getParameter("text"));
}
加个方法:
<%!public getStr(String str) throws Exception
{ try{
String temp=str;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBK");;
}catch(Exception e)
{
}
%>
然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
String text=null;
if(request.getParameter("text")!=null&&request.getParameter("text")!="")
{
text=getStr(request.getParameter("text"));
}
#14
请说明一下你的out.println()的out是什么类型
#1
<%@ page contentType="text/html; charSet=GBK"%>
out.println(new String(rs.getString("fx").getBytes("GB2312"), "GBK"));
out.println(new String(rs.getString("fx").getBytes("GB2312"), "GBK"));
#2
错了。
out.println(new String(rs.getString("fx").getBytes(), "GBK"));
out.println(new String(rs.getString("fx").getBytes(), "GBK"));
#3
<%@ page contentType="text/html; charSet=gb2312"%>
//try this
out.println(rs.getString("fx"));
//try this
out.println(rs.getString("fx"));
#4
回 icecloud(冰云) ( ) 信誉:131 :
不行。
回 chanceqw() ( ) 信誉:100 :
之前已经试过,不行。
不行。
回 chanceqw() ( ) 信誉:100 :
之前已经试过,不行。
#5
我在struts里面就是直接读SQL server 2000里的中文
不需要任何转换
不需要任何转换
#6
这篇文章也许对你有帮助
http://www.mhdn.net/p/2002-08-02/5603.html
http://www.mhdn.net/p/2002-08-02/5603.html
#7
http://expert.csdn.net/Expert/topic/2231/2231845.xml?temp=.1760675
方法很多的!
#8
清回答问题的大哥们先看清我已使用过的方法,以上你们所建议的方法我在提问时已经注明试过了。
#9
将<%@ page contentType="text/html; charSet=gb2312"%>这一句去掉试试。
#10
经常看见问中文问题的,为什么不使用utf-8编码呢?所有的中文问题都迎刃而解。何必那么麻烦呢?况且,utf-8不但支持简体中文,还支持繁体中文,日文,韩文
!!!!!!!!!!!!!!!!推荐使用utf-8编码!!!!!!!
!!!!!!!!!!!!!!!!推荐使用utf-8编码!!!!!!!
#11
<%@ page contentType="text/html; charSet=gb2312"%>
这一句有与没有 客户端都默认采用unicode编码格式,而且不能更改为“简体中文”编码。
如果使用utf-8编码格式是不是只要在头加上
<%@ page contentType="text/html; charSet=utf-8"%>
这一句就可以了?我也试过了,还是乱码。
可是我奇怪的是如果使用 System.out.println(rs.getString("fx")); 方法却可以在tomcat控制台中正确打印出“借”或“还”,说明在向数据库读取该字段时没有错误,可为什么就是在html页面总显示乱码呢!
这一句有与没有 客户端都默认采用unicode编码格式,而且不能更改为“简体中文”编码。
如果使用utf-8编码格式是不是只要在头加上
<%@ page contentType="text/html; charSet=utf-8"%>
这一句就可以了?我也试过了,还是乱码。
可是我奇怪的是如果使用 System.out.println(rs.getString("fx")); 方法却可以在tomcat控制台中正确打印出“借”或“还”,说明在向数据库读取该字段时没有错误,可为什么就是在html页面总显示乱码呢!
#12
没人会了?
斑竹呢?出来帮帮忙呀。
斑竹呢?出来帮帮忙呀。
#13
你定义一个METHOD
加个方法:
<%!public getStr(String str) throws Exception
{ try{
String temp=str;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBK");;
}catch(Exception e)
{
}
%>
然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
String text=null;
if(request.getParameter("text")!=null&&request.getParameter("text")!="")
{
text=getStr(request.getParameter("text"));
}
加个方法:
<%!public getStr(String str) throws Exception
{ try{
String temp=str;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBK");;
}catch(Exception e)
{
}
%>
然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
String text=null;
if(request.getParameter("text")!=null&&request.getParameter("text")!="")
{
text=getStr(request.getParameter("text"));
}
#14
请说明一下你的out.println()的out是什么类型