`
wanghlwin
  • 浏览: 37700 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于Java调用批处理命令向mysql导入数据的中文乱码问题

阅读更多
(转载请标明作者和出处,谢谢合作。)

最近写了个很没意思的小工具,写到一半的时候发现,mysql的可视化工具里面有可以导入excel文件的工具。不过步骤太多不适合不懂sql的人使用,由此,还是将写到一半的小工具给完成了吧,此工具对于懂代码的人来说没有任何的意义,因为你完全可以使用工具来做。我之所以写这个工具姑且说是一个平台吧,由于要让公司销售渠道上的人来使用,他不需要懂代码,也不需要操作这么繁琐的mysql工具。
半天没有进入正题,大体的说一下它的功能吧,就是把excel中的内容插入到数据库中(Mysql)。 渠道人员在平台上上传excel文件,并选择要导入的表,和表中的哪些列(当然这些列的顺序可以自己随意的调整)。平台就可以自动的为他将excel中的内容插入到所选表的所选列中,同时生成sql文件。
平台的内部实现,其实是先将excel中的内容拼接成sql语句,并写入到硬盘的sql文件中去,再由Java来调用批处理命令来执行导入刚才生成的sql文件。调用批处理的代码如下:

public void executeSql(String sqlFilePath) throws IOException{
String command = "cmd  /c  mysql -urichmobi -prichmobi heima_2012_3 < d:\\sql_Output.sql";
Runtime.getRuntime().exec(command);
}

但是中途遇到一个问题,我在第一步将excel中的内容生成sql语句的时候,采用的编码都是utf-8的,我的mysql数据库编码也是utf-8,sql语句中的内容也大多都是中文的,想着应该没有问题。但是问题发生了,在导入完成后发现库中的内容都为乱码,很郁闷。。不都是utf-8的吗。一时间不知道是哪里出了问题。各种百度谷歌也没查到,于是乎想起来这个命令 :set names utf8; 于是乎就ok了。暂时的解决方案就是 :“set names utf8;”作用只是临时的,在mysql 重启以后就会恢复默认,所以为了不让乱码有机可乘,最好每次对数据库写中文的时候加上这句话。
分享到:
评论

相关推荐

    java调用mysql命令 导入导出数据库

    在Java编程中,调用MySQL命令...综上所述,Java调用MySQL命令导入导出数据库涉及到了JDBC接口的使用、系统命令的执行以及数据库管理的基本操作。在实际应用中,我们还需要关注错误处理、安全性以及依赖管理等多个方面。

    java调用bat批处理与sh脚本

    - **权限问题**:执行外部命令可能需要相应的文件执行权限,确保Java进程有权限访问并执行批处理文件或Shell脚本。 - **错误输出**:调用`Process.getErrorStream()`和`Process.getInputStream()`可以获取命令执行的...

    java远程调用批处理文件代码归总

    Java远程调用批处理文件是将Java编程与批处理脚本结合的一种技术,它允许Java程序执行在远程服务器上的批处理任务,而无需人工干预。这通常涉及到网络通信和进程间交互,使得分布式系统能够更加灵活地管理和调度任务...

    Java 实现从Excel批量导入数据到MySQL

    本文将详细介绍如何利用Java实现从Excel批量导入数据到MySQL数据库。 首先,我们需要了解两个关键的库:Apache POI 和 JDBC。Apache POI 是一个开源的Java库,用于读写Microsoft Office格式的文件,包括Excel。JDBC...

    java调用批处理

    在Java编程中,调用批处理操作是一种常见的需求,特别是在处理大量数据或执行自动化任务时。批处理可以提高效率,因为它允许一次性处理多个输入,而不是逐个处理。本篇文章将探讨如何在Java中调用批处理,以及相关的...

    用JAVA导出MYSQL的数据

    总结起来,使用Java导出MySQL数据的关键在于正确调用系统命令`mysqldump`,并管理好输入输出流以确保数据的完整性和编码正确性。同样,导入数据时也需调用`mysql`命令,并确保所有相关的环境变量和权限设置都已就绪...

    编写批处理命令来执行JAVA文件

    本篇将深入讲解如何编写批处理命令来执行JAVA文件,以及相关知识点。 1. **批处理文件介绍** 批处理文件(.bat)是一种文本文件,包含了可执行的DOS命令。当用户运行这个文件时,Windows会逐行解析并执行这些命令...

    dos批处理命令详解

    ### DOS批处理命令详解 #### 一、Echo 命令 **功能**: Echo 命令用于在...以上是关于 DOS 批处理命令的基本介绍与示例,这些命令对于编写批处理脚本非常有用。通过这些命令,可以实现自动化任务的执行,提高工作效率。

    Java实现调用MySQL存储过程详解

    在Java应用程序中,可以通过Java Database Connectivity (JDBC) API来调用MySQL的存储过程。 首先,确保你已经安装了MySQL数据库,并且在数据库中创建了一个或多个存储过程。例如,`findAllBook`、`pro_test`和`pro...

    C#.net通过程序执行批处理命令

    批处理,也称为批处理脚本,是将一系列操作系统命令写入一个文本文件(通常以.bat或.cmd为扩展名)中,然后通过调用这个文件来一次性执行这些命令。这种方式在Windows环境中非常常见,可以极大地提高工作效率。 在...

    批处理命令大全 批处理命令大全

    ### 批处理命令大全解析 批处理是一种在操作系统中用于自动化执行一系列命令的脚本语言。通过批处理脚本,用户可以批量执行复杂的任务,节省时间和提高效率。本文将深入探讨批处理中的一些核心命令,包括`Echo`、`@...

    Windows批处理命令实例分析(World文档)

    Call命令用于在一个批处理文件中调用另一个批处理文件,调用完成后返回原始批处理继续执行。它可以接受标签作为参数,允许在批处理内部进行流程控制。 7. Start命令: Start命令可以启动一个新的命令提示符窗口来...

    批处理命令在WINDOWS操作中的典型应用

    批处理命令中可以使用变量来存储数据,如 `%var%`。同时,批处理文件可以接收命令行参数,例如`%1`, `%2`, `%3`等,分别代表第一个、第二个、第三个参数。例如,创建一个接受两个参数的批处理文件: ```batch @echo ...

    windows批处理命令详解及脚本实例.pdf

    4. CALL命令:CALL命令用于在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。 例:批处理2.BAT 内容如下: ECHO 这就是 2 的内容 批处理1.BAT 内容如下: ECHO 这是 1 的内容 ...

    免费下载:自己整理的批处理命令文档

    批处理命令文档是一份集合了大量Windows操作系统中批处理(Batch)技术的参考资料,它涵盖了批处理的基础知识、常用命令以及高级应用技巧。批处理是Windows环境下自动化执行一系列命令的操作方式,极大地提高了用户...

    电脑清理垃圾批处理命令

    批处理命令是Windows操作系统中的一种脚本语言,用于自动化执行一系列命令行操作。"电脑清理垃圾批处理命令"指的是利用批处理文件来批量清理计算机中的无用文件,提高系统性能和磁盘空间利用率。下面我们将深入探讨...

    利用java 导入Excel表格数据到mysql数据库里,源码,直接导入eclipse就可以运行

    在Java开发中,将Excel表格数据导入MySQL数据库是一项常见的任务,尤其在数据处理、数据分析以及系统集成等场景中。这个项目提供了一套完整的源码,可以直接在Eclipse环境中运行,帮助开发者快速实现这一功能。下面...

    C#执行批处理命令

    在Windows操作系统中,批处理命令(Batch Command)是一种自动化执行一系列命令的方式,它允许用户将多个命令写入一个文本文件,然后通过简单的调用该文件来执行这些命令。在C#编程环境中,我们可以利用.NET ...

    mysql java JDBC 导入资源包mysql-connector-java-5.1.48

    MySQL是世界上最流行的开源关系型数据库管理系统之一,而Java是一种广泛使用的多平台开发语言,两者结合使用,通过Java Database Connectivity (JDBC) API,可以实现Java应用程序与MySQL数据库之间的交互。...

Global site tag (gtag.js) - Google Analytics