最近新入职的工作,火急火燎就下了个mysql,没想到安装时配置没弄好。今天在测试数据时,插入中文数据到mysql都是问号,先后查了半天修改表结构,数据库编码,my.ini文件都没有用。
首先第一步,打开cmd窗口,输入mysql -u root -p和密码进入数据库后,输入show variables like "%char%";查看字符集,如果不是下面这个样子,很大概率就是错的,会出现问号或者乱码。
分别对应的是
character_set_client 为客户端使用的字符集。
character_set_connection 为连接数据库的字符集设置类型。如果程序没有指明则是按照服务器默认的字符集设置。
character_set_database 为数据库服务器中某个库使用的字符集设定,如果建库没有说明则使用服务器安装时指定的字符集设置。
character_set_filesystem 指的是文件系统的字符集设定,如果没有指明使用的就是服务器默认的。
character_set_results 数据库返回给客户端使用的字符集设定,如果没有指明使用的就是服务器默认的。
character_set_server 为服务器安装时指定的默认字符集设定。
character_set_system 为数据库系统指定的默认字符集设定。
修改库,修改文件等等在网上已经很多解决方案了,这里就不做描述。这里需要做的是C:\Program Files\MySQL\MySQL Server 5.5\bin(数据库安装目录下的bin文件夹),启动MySQLInstanceConfig.exe重新配置一遍字符集设置。因为安装的时候没看教程,所以这里就自动给我配置成latin1了,非常搞人。
完成配置后,重启mysql,重新配置环境变量测试一遍字符集就ok了。