mysql导入csv中文数据乱码问题分析与解决
2017-09-28 14:30
851 查看
摘要:解决csv文件向mysql导入含有中文数据,导入后中文出现乱码问题。结论,在导入含中文字符时注意两个问题:第一,告诉Mysql文件的编码是什么?第二,数据库表中的列编码要设置成支持中文的字符集。
导入源数据
SQL代码
LOAD DATA LOCAL INFILE 'E:\\stocks.csv' INTO TABLE `stock_info_tb` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n'
乱码结果
修改SQL
LOAD DATA LOCAL INFILE 'E:\\stocks.csv' INTO TABLE `stock_info_tb` CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n'
这个utf8是根据导入的csv文件编码来决定的,可以通过文本编辑器把要导入的数据修改一个自己喜欢的编码,然后这个一致就OK。
这样修改后,仍然是乱码,有些崩溃的。
查看与修改表信息
表对中文是否支持运行:SHOW FULL COLUMNS FROM `stock_info_tb`; 或 SHOW CREATE TABLE `stock_info_tb`;
结果显示:
CREATE TABLE `stock_info_tb` ( `type` varchar(10) CHARACTER SET latin1 DEFAULT NULL, `bourse` varchar(2) CHARACTER SET latin1 DEFAULT NULL, `stock_id` int(11) NOT NULL, `stock_name` varchar(10) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`stock_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
发现要导入来的type,stock_name两个列为latin1字符集,修改为utf8为:
/*DDL 信息*/------------ CREATE TABLE `stock_info_tb` ( `type` varchar(10) COLLATE utf8_bin DEFAULT NULL, `bourse` varchar(2) CHARACTER SET latin1 DEFAULT NULL, `stock_id` int(11) NOT NULL, `stock_name` varchar(10) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`stock_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
再运行
LOAD DATA LOCAL INFILE 'E:\\stocks.csv' INTO TABLE `stock_info_tb` CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n'
结果
喜欢这个样的结果。
【作者:happyprince, http://blog.csdn.net/ld326/article/details/78123282】
相关文章推荐
- Mysql 导入导出csv 中文乱码问题的解决方法
- Mysql 导入导出csv 中文乱码问题的解决方法
- Mysql 导入导出csv 中文乱码问题的解决方法
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- Mysql 导入导出csv 中文乱码问题的解决方法
- 再谈乱码问题,如何解决MYSQL数据中文乱码问题
- 使用MySQL保存中文数据时,经常会遇到乱码问题的解决思路
- 谈乱码问题,如何解决MYSQL数据中文乱码问题
- 解决导入中文SQL数据乱码问题
- 简单解决php+mysql时mysql数据表中的中文乱码问题
- 解决mysql导入导出数据乱码问题
- 【转】MySQL导入数据乱码的分析与解决
- mysql导入导出数据中文乱码解决方法小结
- mysql数据导入中文乱码的解决办法
- mysql导入导出数据中文乱码解决方法小结
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 解决Excel数据导入sqlite中的中文乱码问题
- mysql导入数据之乱码分析及解决办法
- 再谈乱码问题,如何解决MYSQL数据中文乱码问题
- PHP 从数据库Mysql中读取数据生成excel(解决乱码问题,解决中文变问号问题)