mysql中利用jdbc插入中文数据出现乱码!

wangqm0629 2005-05-28 11:40:03
我的程序中当把一些中文字符插入数据库中,数据库中的纪录为乱码,甚至一些中文字符程序执行时就出现数组越界异常。
import java.io.*;
import java.sql.*;
import java.util.*;

public class test{
public static void main(String[] args){
Connection con=null;
try {
Class.forName("org.gjt.mm.mysql.Driver");//
con=DriverManager.getConnection("jdbc:mysql://localhost/performance_monitor");
}
catch(Exception e){e.printStackTrace();}
try
{

String fileRecord="打";//当fileRecord是“打”时程序正常,为“打到”时程序就不能执行了
int getID=12;

String sqlCommand;
sqlCommand="insert into softlog(id,softname)"+"values(?,?)";
PreparedStatement preparedStatement=con.prepareStatement(sqlCommand);
preparedStatement.setInt(1,getID);
// fileRecord=new String(fileRecord.getBytes("gb2312"),"ISO-8859-1");
preparedStatement.setString(2,fileRecord);
preparedStatement.executeUpdate();
con.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}

}
}
...全文
938 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2005-05-31
  • 打赏
  • 举报
回复
在配置文件中,如 c:\winnt\my.ini 中的 [mysqld] 里添加一行:
default-character-set=gbk
然后重启 mysql server 。 注意 gbk 要小写,不然 mysqld 启动不了。


url改成这样
"jdbc:mysql://localhost/performance_monitor?user=root&password=&useUnicode=true&characterEncoding=GBK"
wangqm0629 2005-05-31
  • 打赏
  • 举报
回复
关注一下啊

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧