jdbc 连接mysql乱码问题
2015-12-19 10:23
549 查看
使用MySQL时候经常会出现乱码问题,必须得声明编码格式,我刚刚在编写的时候就因为编码问题而导致其他地方查询的时候查不出结果,而我在后台使用命令可以查出来,起初是以为jdbc函数写错了,其中的查询语句不对。后来发现当数据库中的数据改为英文的时候不出现问题,改为中文的时候就查询不出错误了,于是确定是编码的问题。浪费了好长的时间。
下面附上使用jdbc连接mysql的函数:
注意其中的一句:
后面的useUnicode等等就是申明所使用的编码方式,如果不加就会出现乱码问题。
以后连接的时候直接调用这个函数的getConnection方法就可以了,省去了好多重复的代码。当然其中还可以在里面加一个close函数,也是直接调用就可以关闭与数据库各个资源的连接关系了,这里没有写出来,自己写一下咯。
下面附上使用jdbc连接mysql的函数:
<pre name="code" class="java">public class DBConnection { private static Connection conn; public static Connection getConnection() throws ClassNotFoundException, SQLException { if(conn != null) { System.out.println(conn); return conn; } String username = "root"; //用户名 String password = "123456"; //密码 String ip = "127.0.0.1"; //数据库ip地址 String port = "3306"; //端口,一般不需要改 String dbname = "struts2"; //数据库名字,根据具体的改 String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://" + ip + ":" + port + "/" + dbname+ "?useUnicode=true&characterEncoding=UTF-8"; try{ Class.forName(driver); conn = DriverManager.getConnection(url, username, password); }catch(Exception e) { System.out.println(e); }finally{ } return conn; } }
注意其中的一句:
<pre name="code" class="java">String url = "jdbc:mysql://" + ip + ":" + port + "/" + dbname+ "?useUnicode=true&characterEncoding=UTF-8";
后面的useUnicode等等就是申明所使用的编码方式,如果不加就会出现乱码问题。
以后连接的时候直接调用这个函数的getConnection方法就可以了,省去了好多重复的代码。当然其中还可以在里面加一个close函数,也是直接调用就可以关闭与数据库各个资源的连接关系了,这里没有写出来,自己写一下咯。
相关文章推荐
- mysql 查询的流程
- mysql5.7+sphinx plugin 源码安装
- 简单整理MySQL的日志操作命令
- 深入解析MySQL的事务隔离及其对性能产生的影响
- Mac MySQ连接不成功:Error: Can't connect to local MySQL
- ubuntu 安装mysql及目录位置
- MySQL-Binlog解析篇:4 大体框架出炉
- 使用从mysql中取数据
- MySQL数据类型和常用字段属性总结
- mysql UNIX时间戳与日期的相互转换
- mysql 安装
- MySQL 5.7.10最新版本源代码安装详细过程
- mysql乐观锁的使用
- 以mysql为数据源的Solr配置
- MySQL命令行下导出导入数据库
- 配置hive1.2.1,并更改元数据库为mysql
- mysql的基本操作
- mysql5.7版本问题
- MySQL索引的创建、删除和查看
- Mysql5.7.10在Mac安装版本实践