首先,我用的是阿里云虚拟主机,cenOS + mysql 5.1.48的配置,php使用了5.5的版本(新人练手)。
设置数据库的时候,我已经选择默认字符是utf8了,然后数据库名称是系统默认的,表名我用了中文,列名用了中文。
后台使用php连接前也使用了,mysqli_query($cnn,"set names utf-8")语句。
数据库连接成功后,查询中涉及中文的,却都无法使用。
我又新建了个表,使用英文的表名和列名,尝试查询,结果成功了。
说明连接是没问题的。
后来上网爬了下设置,在数据库的命令模式,使用了:
SHOW VARIABLES LIKE 'character%';
SET character_set_connection = utf8 ;
SET character_set_database = utf8 ;
SET character_set_server = utf8 ;
SET character_set_client = utf8 ;
SET character_set_results = utf8 ;
SHOW VARIABLES LIKE 'collation_%';
SET collation_connection = utf8_general_ci;
SET collation_server = utf8_general_ci ;
SET collation_database = utf8_general_ci;
alter database chinesefirst_onlinetesting character set utf8;
以下命令都试过了,结果还是不行,不知道什么原因呢?
是不是php的编码是gbk的?