用jsp向数据库中写中文时,为什么全是?????????(90分)

  • 主题发起人 主题发起人 xuyingfeng
  • 开始时间 开始时间
X

xuyingfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
而且我在每一个jsp页面都加了这句话:
<%@ page contentType="text/html;charset=gb2312" %>
用的服务器是tomcat3.2,数据库是access
 
我曾经遇到这样的情况:在本地机器上正常,上传到服务器后(国外的),从数据库中取出来
来的中文总是???????,百思不得其解,以为是国外的系统不支持中文,后来才发现本地用的
是access2000,老外的是access97,呵呵。
 
你用的什么JDBC?
 
我用的是JDBC通过ODBC连接access从数据库里读中文非常正常,就是写不行了,通过access查看的
数据库的中文就是???????
 
请到csdn.net的文档中心查询相应的文档
 
一定要在数据库驱动定义语言为中文
如:对于oracle或paradox,我们都需要在bde里面设置语言为chinese936
 
这个只对显示器作用,存中文有这个
附一個用從數據庫和網絡中取出中文亂碼的處理函數,入參是有問題的字符串,出參是問題已經解決了的字符串。
String parseChinese(String in)
{
String s = null;

byte temp [];

if (in == null)
{
System.out.println("Warn:Chinese null founded!");

return new String("");

}
try
{
temp=in.getBytes("iso-8859-1");

temp=in.getBytes("iso-8859-1");

s = new String(temp);

}
{
System.out.println("Warn:Chinese null founded!");

return new String("");

}
try
{
temp=in.getBytes("iso-8859-1");

s = new String(temp);

}
catch(UnsupportedEncodingException e)
{
System.out.println (e.toString());

}
return s;

}

 
以上意见全都有问题。
来看这个:
http://java.sun.com/j2se/1.4/docs/guide/jdbc/bridge.html
最后一段提到:
// Load the JDBC-ODBC bridge driver
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver) ;

// setup the properties
java.util.Properties prop = new java.util.Properties();
prop.put("charSet", "GB2312");
prop.put("user", username);
prop.put("password", password);

// Connect to the database
con = DriverManager.getConnection(url, prop);
请注意使用新版本的JDBC-ODBC桥
 
先看一下,字符是不是在输入数据库之前就已经有问题了, 就是说在页面之间传递时,
如果是, 加入下面代码试一下:(我用的jsqlconnect)
<%!
public String getstr(String str) throws UnsupportedEncodingException {
String temp="";
//if (str != null){
byte[] temp1;
temp1=str.getBytes("ISO8859-1");
temp=new String(temp1);
//}
return temp;
}
%>
仅供参考!
 
我不推荐使用getBytes.
 
JSP中,数据库的中文乱码解决办法
2001-9-13 14:14:15 互动时代 阿义 阅读1311次
其实解决的方法很简单:
在JSP用到数据库的JSP文件中加入:
<%@ page contentType="text/html;
charSet=gb2312" %>
或者
<%@ page contentType="text/html;
charSet=GBK" %>
即可
( window2000+resin+oracle
window2000+jrun+oracle
window2000+resin+access
window2000+jrun+access 中试验都通过)
阿义--互动时代
 
你用resin做webserver,不用改代码,一定没问题。
免费的,快下载呀。
 
在哪里下载
 
http://www.caucho.com/download
不是很大 ,4MB多
 
我知道了
 
后退
顶部