java与MYSQL的问题 - Java / Java SE
我的mysql数据库的字符集是utf-8
我需要用java插入一条数据在数据中不显示乱码
java代码:
String s = "中国";
stmt2.executeUpdate("insert into bb.city values('"+s+"')");
以上代码显示的效果为乱码,怎么能在数据库中能直接看到中文。
以下方法试过了,不行
1.s= new String(s.getBytes("iso8859-1"),"gbk");
2.s= new String(s.getBytes("iso8859-1"),"utf-8");
你的sql语句需要转换编码 在写程序的时候 用的是编辑器的编码方式,utf-8或者gbk。
送入数据库之前应该把它转变为数据库的编码iso8859-1.
所以
String s = "中国";
String sql="insert into bb.city values('"+s+"')";
sql = new String(sql.getBytes("gbk"), "iso8859-1");
//或者 sql = new String(sql.getBytes("utf-8"), "iso8859-1");
stmt2.executeUpdate(sql);
这多大关系,想查看数据库中的中文数据执行下面的命令就可以了。
charset gbk
再用查询语句可以看到插入的结果
无非是统一一下字符集的问题。
来看看 别人的解答
相关问答:
请我用FCK上传文件,在本地的windows机上测试可以,但部署到linux服务器上就上传不了文件,上传文件时一直卡在那里。望各位大虾指点,谢谢!
路过,帮你顶一下。。。。。。。。。。。。。。
上传文件的路径问题, ......
java swing 程序如何打包成jar,然后可以通过批处理文件bat直接运行,有没有什么工具直接可以完成这两个工作?
用jar打包,把运行需要的jar拷贝到一个目录,批处理用 start javaw -cp .;其他包路径 运行
用zip ......
我用的是mysql6.0为什么一创建两个表这间用外键来连接时就说创建不了:can"nt create table ...
你的语句是什么?你的表是什么存储引擎? 如果是myisam 则不支持外键,你需要把表改为inndb
貼出SQL ......
怎么样将id传过去啊???是简单的传。。。在地址栏中写id号
LZ 好幽默!不知道你的意思?
是想把ID 传到ACTION ? 通过URl id=?
不够详细 别人不知道怎样帮你
../XXXXX.do?id=XXXX&id2=XXXXX
......