先进入mysql,通过以下语句查看编码:
mysql> show variables like '%character%';
+--------------------------+-------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\Software\mysql-5.6.31-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------+
8 rows in set (0.00 sec)
mysql系统默认编码为latin-1,即iso-8859-1,该编码不支持中文
我们应该将以上编码除了character_set_filesystem 都改为utf-8
------------------------------------------------------------------------------------------
解决步骤:
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 | D:\Software\mysql-5.6.31-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------+
mysql> show variables like '%character%';
+--------------------------+-------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\Software\mysql-5.6.31-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------+
8 rows in set (0.00 sec)
mysql系统默认编码为latin-1,即iso-8859-1,该编码不支持中文
我们应该将以上编码除了character_set_filesystem 都改为utf-8
------------------------------------------------------------------------------------------
解决步骤:
第一步:在mysql.ini里配置
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
第二步:创建database时指定编码
CREATE DATABASE databasename
DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
第三步:创建table时指定编码
CREATE TABLE tablename(...)
ENGINE=InnoDB DEFAULT CHARSET=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 | D:\Software\mysql-5.6.31-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------+
8 rows in set (0.00 sec)
出现该结果则设置成功!!!
------------------------------------------------------------------------------------------