字符编码问题解决方案:

编程最忌讳的就是编码不统一的问题。下面我来为大家介绍几个处理mysql中文编码的问题的解决方案,虽说可能不是那么权威,应该也不会出错。如果哪里有错误,欢迎大家指教!


字符编码问题解决方案:

一,首先进行查看一下数据库的字符编码:

打开mysql控制台,输入命令show variables like 'character%';

显示如下:
+--------------------------+-------------------------------------------+
| Variable_name      | Value                   |
+--------------------------+-------------------------------------------+
| character_set_client   | latin1                  |
| character_set_connection | latin1                  |
| character_set_database  | utf8                   |
| character_set_results  | latin1                  |
| character_set_server   | utf8                   |
| character_set_system   | utf8                   |
| character_sets_dir       | E:\mysql-5.7.15-winx64\share\charsets\ |
+--------------------------+-------------------------------------------+

二,然后修改配置文件
my.ini文件
 

[mysql]
             default-character-set=utf8
    [mysqld]
             basedir =E:\mysql-5.7.16-winx64\bin
             datadir =E:\mysql-5.7.16-winx64\data
             port = 3306
             character-set-server=utf8


重启后使用第一步的命令查看,命令如下:

mysql> show variables like 'character%';
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | E:\mysql-5.7.15-winx64\share\charsets\ |
+--------------------------+----------------------------------------+
8 rows in set, 1 warning (0.03 sec)

像上面一样,字符编码问题就已经统一了,然后就可以进行操作了。如果有web开发的话,编码要统一!
有时候我们还会发现有时候问题并没有解决,但是显示编码确实是正确的。为什么呢?因为这个字符编码改了以后只能对以后生效,不会对曾经生效。也就是说之前创建的数据库,表中的编码还是没有得到改变,还是原来的编码。重新创建是没有问题了,如果数据量比较大的,不行改的话,我们可以用下面的方法进行修改数据库的编码,表的编码。如下:

修改数据库编码的命令:
alter database mydb character set utf8;
修改数据库中表的编码:
alter table tablename character set utf8;


小编温馨提示:这个修改数据库和表的操作是一种治标不治本的操作,只对你修改的数据库,表生效,设置数据默认编码,你必须进行上面的操作。修改配置文件,重重启mysql服务,重启mysql,使用命令查看,如果有错误,欢迎您的指正。谢谢!

猜你喜欢

转载自blog.csdn.net/MrZhangBaby/article/details/80014308