我的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");
我需要用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");
解决方案 »
- 被杠晕了!
- 果子接分
- 如何将类似“2008-09-02 12:23:24”的String格式化为Date?
- 代码示例说明
- 有关于JTree的问题,希望各位大大给个指点
- java 内存泄漏的问题,关于DatagramSocket.send和System.arraycopy
- 网页重定向必须重新new url马?
- java反射
- 请教一个很基础基础的问题,请进。。。
- HttpURLConnection webservice.webxml 请求数据
- 给出一个int型数,比如5310 ,给他分成四个128以内的数,注意 不是随机的,通过这四个数不管如何计算,最后能得到5310
- 请教一个关于字符串连接的问题
送入数据库之前应该把它转变为数据库的编码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
再用查询语句可以看到插入的结果
value="jdbc:mysql://192.168.8.4:3306/iplugserver?characterEncoding=utf8" />