因为原来的MYSQL有木马,我就卸载重装了,再把.sql文件导入,还用了navicat premium,打开表后出现乱码
发布网友
发布时间:2022-05-02 08:18
我来回答
共2个回答
热心网友
时间:2023-10-13 10:49
① 首先把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工具里直接执行以下
希望能帮到你
热心网友
时间:2023-10-13 10:49
.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参数问题。