这两天被如题的问题缠绕好不容易解决掉了
当时遇到的问题如下
sybase运行在unix上编码未知jsp页面显示查询数据中文乱码
pageEncoding和charset都已设置tomcat的xml文件也已设置
已经试过的办法有
String temp = rsSearchgetString(a[i]);
if (temp != null) {
byte[] b = tempgetBytes ("_");
temp = new String(b"GBK");
outprint(temp);
}
String temp = rsSearchgetString(a[i]);
byte[] buffer = new byte[templength()];
int j=;
for (int i = ; i<templength(); i++)
{
if (tempcharAt(i)>=x)
{
char c = tempcharAt(i);
byte[] buf = (""+c)getBytes();
buffer[j++] = (byte)buf[];
buffer[j++] = (byte)buf[];
}
else
{
buffer[j++] = (byte)tempcharAt(i);
}
}
temp= new String(buffer j);
为什么这些用在mysql等数据库就有效的方法用在sybase上就无效
原因是sybase的连接跟其它jdbc连数据库有不同需在连接时注明属性dbURL 设为
jdbc:sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=
比如我的数据库charset=cp jconnect_version=根据自己的情况适当更改就可以了
另外在jsp页面需要用到我最开始提到的方法至此中文问题得到解决!