set names utf8 【mysql导入中文乱码问题解决】

时间:2023-03-30 10:59:38

由于工作的关系需要经常导入一些sql脚本,但是经常会遇到导入中文出现乱码的问题,搞得自己每次导入sql脚本时都很害怕,自己也上网找了一些资料,尝 试了许多办法,有些方法可以正常导入中文,有些办法却不行,自己也是得过且过,没有去总结一下,今天终于静下心查找一下中文乱码问题。
我自己本地的mysql字符配置:所有表都是utf8字符集,数据库是latin字符集。
导入的sql脚本文件是utf8字符集,每次用source命令导入sql脚本文件时,中文老是出现乱码。

后来查了一下资料,加上set names
utf8
可以消除中文乱码,于是我在sql脚本文件中加set names utf8, 导入sql脚本结果还是出现中文乱码。

但是在source
命令前输入set names utf8,然后再用source命令导入脚本,中文乱码就解决了

看来set names
utf8这个命令是有效的,但是为何放到脚本文件中却不行了呢,同时一直报错:ERROR 1064
(42000)?

实在没办法了,于是我在脚本文件中的开头连续加入两条:set names utf8; set names utf8;

,然后直接用source命令导入脚本文件,中文乱码也没有了