如何解决mysql导入文件中文乱码的问题


小编给大家分享一下如何解决mysql导入文件中文乱码的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql导入文件中文乱码的解决办法:首先创建数据库并制定编码;然后在导入数据库文件之前,制定编码set names utf8即可。继续昨天的问题,数据库配置好后,查询表发现中文乱码了,看了网上的几个方法也没解决。
感觉是导入的sql文件问题,那么逆向的思考,用命令创建个数据库,添加些数据,然后导出来看看什么情况。
向表内插入数据的时候发现报错:
ERROR 1366 (HY000): Incorrect string value: 'xE6xB5x8BxE8xAFx95' for column 'bookname' at row 1

果断再改,通过命令:alter table book change bookname bookname varchar(32) character set utf8;
改完后也不看了,直接插数据试试:插入成功,查看数据是不是还中文乱码,发现并不乱码了:那么开始进行下一步,导出sql文件,进入到mysql的bin目录下,开始通过命令导出,这个过程需要输入密码导出的文件,表的编码格式utf8,与之前导入文件的比较并看不出什么问题。
那么,就是之前导入文件的过程,创建数据库的过程除了问题,查看之前导入的mydb.sql 的mydb数据库结构,果然不对:遂修改之:alert database mydb character set utf8;
然后再查看表的编码,发现有鬼:utf8mb4_unicode_ci 这个东西是怎么开发云主机域名出来的…
然后改了编码,查询,还是不对,想起来之前创建数据库,可能是忘记设置编码,导入的东西本来就乱码了,也或者是my.ini配置不对,从头开始用正确流程试试吧。先查看数据库的编码设置:show variables like 'character%';
发现很混乱:开始改,通过一系列的set
set character_set_client = utf8;
得到结果创建数据库并制定编码:CREATE DATABASE test2 CHARACTER SET utf8 COLLATE utf8_general_ci;
使用:use test2
在导入数据库文件之前,制定编码set names utf8;
导入:source F:xxxxxxxxmydb.sql;
不算漫长的等待之后,查询,不乱码了实战项目可以继续进行,遂生法喜。以上是如何解决mysql导入文件中文乱码的问题的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注开发云行业资讯频道!

相关推荐: MySQL Binlog三种格式介绍及分析

一.Mysql Binlog格式介绍 MySQL binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中。 优点:不需要记录每一行的变化,减少了binlog日志量…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/12 09:17
下一篇 06/12 09:17

相关推荐