`
- 浏览:
37592 次
- 性别:
- 来自:
北京
-
关于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 重启以后就会恢复默认,所以为了不让乱码有机可乘,最好每次对数据库写中文的时候加上这句话。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
关于组织参加“第八届‘泰迪杯’数据挖掘挑战赛”的通知-4页
PyMySQL-1.1.0rc1.tar.gz
技术资料分享CC2530中文数据手册完全版非常好的技术资料.zip
docker构建php开发环境
VB程序实例,可供参考学习使用,希望对你有所帮助
pytz库的主要功能 时区转换:pytz库允许用户将时间从一个时区转换到另一个时区,这对于处理跨国业务或需要处理多地时间的数据分析尤为重要。 历史时区数据支持:pytz库不仅提供了当前的时区数据,还包含了历史上不同时期的时区信息,这使得它在处理历史数据时具有无与伦比的优势。 夏令时处理:pytz库能够自动处理夏令时的变化,当获取某个时区的时间时,它会自动考虑是否处于夏令时期间。 与datetime模块集成:pytz库可以与Python标准库中的datetime模块一起使用,以确保在涉及不同时区的场景中时间的准确性。
VB程序实例-为程序添加快捷键.zip
画2、3维的隐含数
pytz库的主要功能 时区转换:pytz库允许用户将时间从一个时区转换到另一个时区,这对于处理跨国业务或需要处理多地时间的数据分析尤为重要。 历史时区数据支持:pytz库不仅提供了当前的时区数据,还包含了历史上不同时期的时区信息,这使得它在处理历史数据时具有无与伦比的优势。 夏令时处理:pytz库能够自动处理夏令时的变化,当获取某个时区的时间时,它会自动考虑是否处于夏令时期间。 与datetime模块集成:pytz库可以与Python标准库中的datetime模块一起使用,以确保在涉及不同时区的场景中时间的准确性。
加载虚拟光驱并打开ma软件.
VB程序实例-图像的缩小.zip
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
推荐几个国外 Java 大佬的优质博客.docx
Arduino一分钟快速在vs code 编译开发Arduino
强网杯objective-c可视化演示5中的常见排序算法,包括选择排序、气泡排序、插入排序、快速排序、堆排序等.zip
VB程序实例,可供参考学习使用,希望对你有所帮助
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
强网杯
技术资料分享AT070TN92非常好的技术资料.zip