开发者社区> 问答> 正文

为什么我的mysql无法用中文查询

首先,我用的是阿里云虚拟主机,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;

以下命令都试过了,结果还是不行,不知道什么原因呢?

展开
收起
metoogo 2018-01-02 22:32:49 3627 0
1 条回答
写回答
取消 提交回答
  • 是不是php的编码是gbk的?

    2019-07-17 21:51:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像