static String url = "jdbc:mysql://ip/database?characterEncoding=UTF-8"; //在database 后面加上?characterEncoding=UTF-8 就可以解决java 插入数据中文乱码问题 public static String username = "user"; public static String password = "123"; public static Connection conn; public static Statement stmt; public static ResultSet rs; public static DataStructure ds = new DataStructure(); /*public Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } try { conn = DriverManager .getConnection("jdbc:mysql://ip/databases?user=user&password=pass&useUnicode=true&characterEncoding=utf-8"); conn = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } return conn; }*/ public void closeConnection(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }/* // 实现查询操作 public static void select(String sql) { try { rs = stmt.executeQuery(sql); ResultSetMetaData meta_data = rs.getMetaData();// 列名 for (int i_col = 1; i_col <= meta_data.getColumnCount(); i_col++) { System.out.print(meta_data.getColumnLabel(i_col) + " "); } System.out.println(); while (rs.next()) { for (int i_col = 1; i_col <= meta_data.getColumnCount(); i_col++) { System.out.print(rs.getString(i_col) + " "); } System.out.println(); } rs.close(); } catch (Exception e) { System.out.println("数据查询失败!"); } }*/ public static void insertd(String sql) { try { conn = DriverManager.getConnection(url, username, password); conn.setAutoCommit(false); stmt = conn.prepareStatement("load data local infile ‘‘ " + "into table loadtest fields terminated by ‘,‘"); StringBuilder sb = new StringBuilder(); InputStream is = new ByteArrayInputStream(sb.toString().getBytes()); ((com.mysql.jdbc.Statement) stmt).setLocalInfileInputStream(is); stmt.executeUpdate(sql); conn.commit(); } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { String sql = ("insert into bns_user (userurl, titleurl, createtime, username, titleabout ) values (‘12‘,‘1‘,‘1‘,‘1‘,‘1‘)"); insertd(sql); }
mysql 实现批量导入,并解决中文乱码问题
标签:
小编还为您整理了以下内容,可能对您也有帮助:
使用MySQL导入数据时出现乱码的两种解决方法
使用MySQL导入数据时出现乱码的两种解决方法如下:1、添加 –default-character-set
先检查一下,目标数据编码。 56云 分享
使用目标库编码导入数据,如下:
2、修改数据库编码
此教程方法必须谨慎使用,需初始化数据库或将企业数据库技术可以覆盖情况下使用,否则导致数据库出现乱码
关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)
最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。
首先:
用show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置
如果查看出来都是gbk2312,或 gbk,那么就只能支持简体中文,繁体和一些特殊符号是不能插入的,我们只有修改字符集为UTF-8,
修改方法如下:
用记事本或UitraEdit打开mysql数据库安装目录下的my.ini文件打开, 然后Ctrl+F搜索default-character-set,将后面的字符集修改为UTF8,注意要修改两个地方,一个事客户端的,一个是服务端的。
然后保存,重启mysql服务、、进去继续用show variables like “%colla%”;show varables like “%char%”;着两条语句查询一下字符集。 如图:
到此就配置完成了。
注意:
如果以前建有数据库没有删除的 请用 show database 数据库名;和 show create table 表名;查看一下数据库和表的字符集是否为UTF8 , 因为修改my.ini文件,它不能修改原来数据库的的字符集。在命令行下面可以用
alter database 数据库名 character set “字符集”; 命令来修改数据库字符集
还有一点要注意的是,修改为UTF8以后,在命令行下面中文是乱码的,只输出到页面或控制台是正常的,这个问题我也上网查了一下,貌似命令行下面不支持UTF8,我也不太清楚。
当修改以后,在命令行下面如果要插入中文,可以在插入语句之前执行,set names gbk2312;就可以插入中文了,但是不能插入繁体和一些特殊符号。
关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)
最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。
首先:
用show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置
如果查看出来都是gbk2312,或 gbk,那么就只能支持简体中文,繁体和一些特殊符号是不能插入的,我们只有修改字符集为UTF-8,
修改方法如下:
用记事本或UitraEdit打开mysql数据库安装目录下的my.ini文件打开, 然后Ctrl+F搜索default-character-set,将后面的字符集修改为UTF8,注意要修改两个地方,一个事客户端的,一个是服务端的。
然后保存,重启mysql服务、、进去继续用show variables like “%colla%”;show varables like “%char%”;着两条语句查询一下字符集。 如图:
到此就配置完成了。
注意:
如果以前建有数据库没有删除的 请用 show database 数据库名;和 show create table 表名;查看一下数据库和表的字符集是否为UTF8 , 因为修改my.ini文件,它不能修改原来数据库的的字符集。在命令行下面可以用
alter database 数据库名 character set “字符集”; 命令来修改数据库字符集
还有一点要注意的是,修改为UTF8以后,在命令行下面中文是乱码的,只输出到页面或控制台是正常的,这个问题我也上网查了一下,貌似命令行下面不支持UTF8,我也不太清楚。
当修改以后,在命令行下面如果要插入中文,可以在插入语句之前执行,set names gbk2312;就可以插入中文了,但是不能插入繁体和一些特殊符号。
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法?
Linux主机通过phpmyadmin导出的sql数据,用命令导入到另外一台Linux主机时出现中文显示乱码,进一步查看原先导入出sql文件,发现中文无法显示,都是?号。解决Linuxmysql数据导入导出中文乱码的具体方法如下:
1、确保phpmyadmin导出的数据中文显示正常,进入phpmyadmin界面,将语言选为中文simple-chinese(注意非simple-chinesegb2312),再导出sql中文就能正常显示。
2、修改导入出现乱码的LINUX主机的mysql设置vi/etc/my.cnf[mysqld]添加default-character-set=utf8#设置默认字符集为utf8init_connect='SETNAMESutf8′#设定连接mysql数据库时使用utf8编码,以让mysql数据库以utf8方式运行找到(或添加)[client]default-character-set=utf8重启mysqlservicemysqldrestart3、删除数据库并新建,重新导入数据库即可mysql-uroot-p>mysql>dropdatabasexxx>createdatabasexxx>quit导入数据mysql-u-pxxx<mysql.sql
sql语句导入mysql数据库乱码怎么解决
sql语句导入mysql数据库乱码解决步骤如下:
1、首先要保证txt文件是用UTF8格式保存的,这里可以打开查看一下内容确认格式。
2、接着使用Navicat Premium连接上数据库查看数据表是UTF8格式的。
3、接着 查看数据库的格式,确保是UTF8。
4、继续查看 数据库中表的列也是UTF8格式。
5、查询表数据,先是空表没有一条数据。
6、把准备好的txt文件,导入到数据库,查看数据是否有乱码。
7、重新查询数据库查看刚刚导入进去的数据,没有乱码。