请问各位大虾Jsp向数据库中插入中文是乱码怎么办?(50分)

  • 主题发起人 主题发起人 wxl123
  • 开始时间 开始时间
W

wxl123

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大虾Jsp向数据库中插入中文是乱码怎么办?我用的是jdk1.2.2,jswdk1.0.1。
 
据说是JaveScript的BUG,去下载个补丁!
具体在哪里不知道 :-P
 
取的时候按GBK码,然后转换成ISO8859_1
 
这里一个很棘手的问题,不同的操作系统,不同的web server,不同的驱动程序
写法都不同,主要都是用不同的编码方式。
 
老兄,
try this.
下面这个函数在JSDK2.0+MSSQL7+JDBC-ODBC下工作正常。
public ByteArrayInputStream ChineseToAscii(String str)
throws UnsupportedEncodingException {
return new ByteArrayInputStream(str.getBytes("8859_1"));
}//end of function
 
将取得的字符串以bytes取出后放到数组中,再将最后加个‘0’,再以字符输出即可。
 
上文笔误。
将取得的字符串以bytes取出后放到数组中,再将最后加个‘0’,再以字符串输出即可。
 
有时从 URL 或者 html form 中传递的是中文,就需要如此转换一下:
String tt = request.getParameter("test");
String t1 = "";
if (tt != null) {
t1 = new String(tt.getBytes("ISO8859_1"));
}
t1里面就是正确的中文
 
如果使用的是sun的jdbc.odbc.JdbcOdbcDriver,一般来说应该字符集已经变成unicode了,
但如果使用各数据库厂商自己的驱动程序则可能是iso8859_1了,这时候需要进行转换,
同以上程序片断
 
sTemp=new String(request.getParameter("paraname").getBytes("8859_1"),"JISAutoDetect");
sTemp即是正确的汉字,写入数据库即可。
(JISAutoDetect是针对日文的编码。中文可能要变换一下)
 
在tomcat3.1中,只要在,jsp:page中指定charset旧可以了
 
wx1123:请继续或结束问题
 
to zking:
charset指定为什么呢?
 
<%page contentType="text/html;
charset=gb2312"%>
Jdeveloper3.1 + resin1.3通的过!
 
我的办法最简单,我是把控制面板的
区域设置为美国
 
多人接受答案了。
 
后退
顶部