txt文件导入数据库的utf-8问题
2015-11-10 23:58
183 查看
首先解决一切问题的方法都是自己找资料,百度得来,所以并没有什么自创性的代码之类的,只是对一些小问题的解决方法的总结。
将数据导入数据库时,先创建一张表,确定每一个字段,由于数据较多,所以选择将数据集合的txt文件导入数据库。。。
txt文件的格式:以tab为列与列之间的分隔符.
再以代码导入数据库:
load data local infile “c:/data.txt”
into table person(name,age,city,salary);
基本上这样就可以了。。。。再说我遇到的问题:
1.打印表时,所有的汉字都是乱码,不用多说,当然是记事本保存时的编码问题。将txt文件另存为时可以重新选择编码。
将编码改为utf-8。。。。。。这样看似就没问题了
可是:
sql提示有一个warnings,
输入 show warnings:
我并不理解这个warning的意思,但能肯定是第一行的数据出问题。。。多次试验后发现是编码的问题。
在记事本保存的utf-8是带bom头的编码方式,就是在文本开始有几个字符的识别码,供编译器之类的识别编码类型,而在导入数据库时多一列字符肯定会造成错误,
然而windows自带的记事本并不能保存不带bom头的,所以需要第三方编译器介入,重新保存为不带bom头的utf-8编码的文件。
说了很多,重点很小,就是utf-8bom头的问题。。。至于用别的方法给数据库导入文件,或是读取文件时改变编码都是解决问题的方法,暂且不论。
将数据导入数据库时,先创建一张表,确定每一个字段,由于数据较多,所以选择将数据集合的txt文件导入数据库。。。
txt文件的格式:以tab为列与列之间的分隔符.
再以代码导入数据库:
load data local infile “c:/data.txt”
into table person(name,age,city,salary);
基本上这样就可以了。。。。再说我遇到的问题:
1.打印表时,所有的汉字都是乱码,不用多说,当然是记事本保存时的编码问题。将txt文件另存为时可以重新选择编码。
将编码改为utf-8。。。。。。这样看似就没问题了
可是:
sql提示有一个warnings,
输入 show warnings:
我并不理解这个warning的意思,但能肯定是第一行的数据出问题。。。多次试验后发现是编码的问题。
在记事本保存的utf-8是带bom头的编码方式,就是在文本开始有几个字符的识别码,供编译器之类的识别编码类型,而在导入数据库时多一列字符肯定会造成错误,
然而windows自带的记事本并不能保存不带bom头的,所以需要第三方编译器介入,重新保存为不带bom头的utf-8编码的文件。
说了很多,重点很小,就是utf-8bom头的问题。。。至于用别的方法给数据库导入文件,或是读取文件时改变编码都是解决问题的方法,暂且不论。
相关文章推荐
- Java代码实现MySQL数据库导出
- spark 通过 RDD 从HDFS文件加载JSON文件到sql表
- MySQL学习笔记---- LOAD DATA LOCAL INFILE中文乱码
- Sqlmap使用方法
- 数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器(转)
- 关于Oracle事务的总结
- 【mysql】关于临时表
- Oracle查询二
- mysql性能优化
- iOS sqlite 增删改查 简单封装(基于 FMDB)
- MongoDb 安装服务 以及 安全配置
- SQL基本表的操作
- Oracle查询
- MongoDB replication set复制集(主从复制)(8)
- ORACLE安装与操作系统用户组说明
- sql server数据库中 INFORMATION_SCHEMA的用法
- oracle plsql语句、游标
- oracle 锁表与解锁、数据恢复
- oracle触发器
- oracle函数大全