Java简单操作mysql数据库代码存档+处理中文乱码问题

网友投稿 338 2022-11-06


Java简单操作mysql数据库代码存档+处理中文乱码问题

首先用的Maven框架,引包:

mysql mysql-connector-java 5.1.17 jar compile

存档对mysql的基本读写操作

try { Connection conn = null; String sql; String url = "jdbc:mysql://10.10.10.18:3306/jacob?" + "user=jacob_ro&password=mypassword&useUnicode=true&characterEncoding=gbk"; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url); Statement stmt = conn.createStatement(); //读数据举例 sql = "select name from me_media"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String name = new String(rs.getString(1).getBytes("gbk")); System.out.println(name); } //写数据举例 sql = "insert into me_media(name,id) value('每日新闻',123)"; stmt.execute(sql); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { conn.close(); } } catch (Exception e) { e.printStackTrace(); }

由于线上线下的编码问题,对于中文字符可能会出现乱码的情况,比如都成了???样子,我的解决方法是尝试不同的编码来读取数据库的数据,同时在取数据出来的时候也要重新编码一下。比如我现在的代码处理mysql的中文,首先链接数据库的时候选择gbk,将数据拿到后getBytes("gbk")后再变回String,在这里变回String的时候回默认转为Java程序跑的时候的编码。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在Mybatis中使用自定义缓存ehcache的方法
下一篇:手机型号查询API(手机型号查询接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~