当前位置: 技术问答>java相关
好有趣的中文显示问题
来源: 互联网 发布时间:2015-01-18
本文导语: 当我使用jswdk时,从页面提交的中文不能正确的存储到数据库中,但数据库中的中文记录可以正确的显示到页面上;而当我使用resin时正好相反,从页面可正确的提交中文,但数据库中的中文记录却不能正确显示到页...
当我使用jswdk时,从页面提交的中文不能正确的存储到数据库中,但数据库中的中文记录可以正确的显示到页面上;而当我使用resin时正好相反,从页面可正确的提交中文,但数据库中的中文记录却不能正确显示到页面上。这是怎么回事?是我的设置不正确?请各位大虾指教!
|
环境:jswdk+jdk1.3+access
1.将中文数据写入数据库
String strName="",strSql="";
byte[] tmpbyte=null;
strName=strName.trim();
tmpbyte=strName.getBytes("ISO8859_1");
strName=new String(tmpbyte);
strSql="insert into user_info(name) values('"+strName+"')";
databean.executeInsert(strSql);
2.将中文数据提出可以直接显示在页面上。
3.bean代码:
/*
* @dbbean.java
* Author:yjx
* Date:2001-3-21
* version:1.0v
* Function:connect database,query table,update table by parameter
*/
package dbbean;
import java.sql.*;
import java.io.*;
public class dbbean{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connection conn=null;
ResultSet rs=null;
/*
* constructor:try to create a dababase driver
*/
public dbbean(){
try{
Class.forName(sDBDriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println("dbbean(): "+e.getMessage());
}
}
public ResultSet executeQuery(String sqlStr){
rs=null;
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sqlStr);
}catch(SQLException e){
System.err.println("executeQuery(): "+e.getMessage ());
}
return rs;
}
public int executeInsert(String sqlStr){
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
stmt.executeUpdate(sqlStr);
return 1;//成功
}catch(SQLException e){
System.err.println("executeInsert(): "+e.getMessage());
return 0;//失败
}
}
public int executeUpdate(String sqlStr){
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
stmt.executeUpdate(sqlStr);
return 1;//成功
}catch(SQLException e){
System.err.println("executeInsert(): "+e.getMessage());
return 0;//失败
}
}
public int executeDelete(String sqlStr){
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
stmt.executeUpdate(sqlStr);
return 1;//成功
}catch(SQLException e){
System.err.println("executeDelete(): "+e.getMessage());
return 0;//失败
}
}
}
1.将中文数据写入数据库
String strName="",strSql="";
byte[] tmpbyte=null;
strName=strName.trim();
tmpbyte=strName.getBytes("ISO8859_1");
strName=new String(tmpbyte);
strSql="insert into user_info(name) values('"+strName+"')";
databean.executeInsert(strSql);
2.将中文数据提出可以直接显示在页面上。
3.bean代码:
/*
* @dbbean.java
* Author:yjx
* Date:2001-3-21
* version:1.0v
* Function:connect database,query table,update table by parameter
*/
package dbbean;
import java.sql.*;
import java.io.*;
public class dbbean{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connection conn=null;
ResultSet rs=null;
/*
* constructor:try to create a dababase driver
*/
public dbbean(){
try{
Class.forName(sDBDriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println("dbbean(): "+e.getMessage());
}
}
public ResultSet executeQuery(String sqlStr){
rs=null;
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sqlStr);
}catch(SQLException e){
System.err.println("executeQuery(): "+e.getMessage ());
}
return rs;
}
public int executeInsert(String sqlStr){
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
stmt.executeUpdate(sqlStr);
return 1;//成功
}catch(SQLException e){
System.err.println("executeInsert(): "+e.getMessage());
return 0;//失败
}
}
public int executeUpdate(String sqlStr){
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
stmt.executeUpdate(sqlStr);
return 1;//成功
}catch(SQLException e){
System.err.println("executeInsert(): "+e.getMessage());
return 0;//失败
}
}
public int executeDelete(String sqlStr){
try{
conn=DriverManager.getConnection("jdbc:odbc:wygl");
Statement stmt=conn.createStatement();
stmt.executeUpdate(sqlStr);
return 1;//成功
}catch(SQLException e){
System.err.println("executeDelete(): "+e.getMessage());
return 0;//失败
}
}
}