MySQL解决乱码详解

来源:互联网 发布:js 重置按钮 编辑:程序博客网 时间:2024/05/20 14:17

网上相关的博客很多,但博主看完还是云里雾里,参考了很多博客,最后成功解决。


怎么样才能解决乱码呢?

假设这样一种场景,运行一个.sql文件(包含中文),将其导入数据库。

只要能保证.sql的编码与mysql的编码一致(强烈建议都设为utf8),那么就不会发生乱码。

既然知道如果解决乱码,那就开始吧。

问题一:怎么设置MySQL的编码方式?

这里强烈建议修改配置文件my.ini文件,可以一劳永逸,也就是说,你只要修改一次,以后MySQL的编码就不会发生改变了

要修改my.ini,首先你必须找到my.ini啊,请大家打开cmd命令行,连上mysql数据库,输入(SHOW GLOBAL VARIABLES LIKE 'basedir%'; )



Value值就是你应该放my.ini的地方(mysql其实会按一定的顺序去不同的目录加载my.ini),到这个路径下查看是否有my.ini文件,有的话无视后面的话,直接修改。

没有的话怎么办?那就看看有没有my-default.ini文件,有的话拷贝一份,改名为my.ini,然后进行后续配置。那如果连my-default.ini都没有怎么办?没关系,去xxxxx下载,然后放到当前目录下。

接下来就是配置了,先用命令(SHOW GLOBAL VARIABLES LIKE 'character%'; ),如果都是utf8(下图所示),那么久不用配置了。



如果不是上图的配置,那么修改成如下格式

[client]default_character_set=utf8[mysqld]character-set-server=utf8init_connect='SET NAMES utf8'secure_file_priv="D:\test\"default-character-set=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

或者大家新建一个my.ini文件,把上面内容复制进去也是可以的。


这时候,基本上大家的问题都可以解决了


可是,

博主问题还是没有解决啊,这就非常恐怖了


那么还有一个原因,就是你的.sql文件的编码格式不是utf8!

使用notepad++或者editplus打开sql文件,修改编码。


以上还解决不了的,留言!!

我们再探讨一下人生!