因为原来的MYSQL有木马,我就卸载重装了,再把.sql文件导入,还用了navicat premium,打开表后出现乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了因为原来的MYSQL有木马,我就卸载重装了,再把.sql文件导入,还用了navicat premium,打开表后出现乱码相关的知识,希望对你有一定的参考价值。

navicat premium里的连接的编码是UTF-8;表的对象信息里写着是UTF8。
数据库的数据库属性下的字符集和排序规则可以选择,我把utf8,big5,gb2312,gbk都选过,结果表里还是乱码。
会不会是因为2次mysql版本不一样引起的,怎么解决的好?
另,原来的版本不会乱码

解决100分

① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的my.ini;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了

你的这种情况 要么是数据库创建的时候出错了,你可以删掉一张重新创建,如果sql文件中有创建表的,你可以把所有表都删除再导入,但应该先保证.sql文件中不是乱码,如果不行,你把sql文件中的sql语句copy出来在mysql工具里直接执行以下
希望能帮到你
参考技术A .sql文件是卸载前导出的?有可能文本文件的编码默认了ANSII保存。。
如果是这样,就不好办了,你尝试一下:新建一个txt文件,选择UTF8保存,然后复制.sql的内容过来,再重命名为2.sql,再导入试试。追问

卸载前,备份了data文件夹,新的mysql使用旧的data文件夹中的数据,使用了旧的数据库文件夹和ibdata1以及 mysql-bin.000001到index文件
另,我的.sql文件有300M,复制内容去新的TXT可能不太容易

追答

没遇到过这样的问题,也只是猜测。300M确实太大了
建议你做两个小测试,确定问题方向:
1·按照原有格式建立一个简单的UTF8库,导出SQL再导入。
2·对已导入乱码再进行部分导出(1~10条数据即可),然后通过UE等查看内容,或者在IE打开文本检测编码。
这样可以确定是否版本问题,还是文本问题,还是其它UTF8参数问题。

以上是关于因为原来的MYSQL有木马,我就卸载重装了,再把.sql文件导入,还用了navicat premium,打开表后出现乱码的主要内容,如果未能解决你的问题,请参考以下文章

我以前的mysql没问题,后来卸载重装了,就再也启动不起来了。提示 MySQL服务无法启动(1067) ,如何解决?

vscode卸载后不能重装了

系统重装后,Mysql数据库重装加载原来数据库

mysql卸载重装总是卡在starting server这一选项

卸载也不行 重装也不行

kali卸载mysql以及重装mysql