在网上看了好多种方法,有修改数据库字符集的,有修改配置文件的,有修改页面编码的,然而没有一个可以解决这个问题,可能是5.6的my.ini文件与之前的版本有些出入,导致自己一直都不知道应该怎么修改5.6版本的配置文件,搞了很久才解决了这个中文显示为?的问题,这里就教大家一个直接了当的方法。
先在数据库的根目录创建一个my.ini文件,是和my-defaul.ini在同一个目录下的,然后把下面的东西复制到你的my.ini中,把我的MySQL的路径改成你的MySQL的路径,再通过在cmd窗口进入到E:\mysql-5.6.30-winx64\bin(mysql安装路径下的bin文件夹)路径,运行net stop mysql和net start mysql,这两个是停止数据库和启动数据库,重启才可以重新加载my.ini文件,然后???问题就解决了,如果要测试是否已解决需要重新建个数据库,之前出现???的数据库还有可能存在编码问题。my.ini文件内容如下:
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
basedir=E:\mysql-5.6.30-winx64
#解压目录
datadir=E:\mysql-5.6.30-winx64\data
#解压目录下data目录
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
E:\mysql-5.6.30-winx64\bin\mysqld.exe