问题描述: mysql插入中文时显示为乱码或"?"号
解决方案:
修改mysql的my.ini配置
[mysql] default_character_set=utf8 [mysqld] character_set_server=utf8
//以下内容为测试记录内容,完全可以忽略不读,但为了增加可信度,还是附上了:)
show variables like "%char%";
默认:
+--------------------------+---------------------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | c:\wamp\bin\mysql\mysql5.6.17\share\charsets\ |
+--------------------------+---------------------------------------------------+
(本次启动有效,治标不治本)
set names utf8:
+--------------------------+---------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | c:\wamp\bin\mysql\mysql5.6.17\share\charsets\ |
+--------------------------+---------------------------------------------------+
(永久有效)
my.ini
[client]
default_character_set=utf8
+--------------------------+---------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | c:\wamp\bin\mysql\mysql5.6.17\share\charsets\ |
+--------------------------+---------------------------------------------------+
(永久有效,效果同[client]修改)
my.ini
[mysql]
default_character_set=utf8
+--------------------------+---------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | c:\wamp\bin\mysql\mysql5.6.17\share\charsets\ |
+--------------------------+---------------------------------------------------+
(永久有效,中文完美显示,避免了每次Insert数据前都先要set names utf8一下)
my.ini
[mysql]
default_character_set=utf8
[mysqld]
character_set_server=utf8
+--------------------------+---------------------------------------------------+
| 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 | c:\wamp\bin\mysql\mysql5.6.17\share\charsets\ |
+--------------------------+---------------------------------------------------+