日期:2014-05-16  浏览次数:20929 次

将mysql的字符集设置为utf8后,插入数据,中文直接不显示
因为想将mysql与sphinx结合起来用
而sphinx貌似只能支持utf8编码
然后就把Mysql的字符集改成了utf8.
在Mysql里执行命令
show variables like '%char%'
得到结果:
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 /usr/share/mysql/charsets/

show variables like 'collation_%'
 collation_connection utf8_general_ci
 collation_database utf8_general_ci
 collation_server utf8_general_ci

然后把放在一个目录下的sql语句导入到数据库中
\. /usr/local/sphinx/etc/table.sql
其中table.sql中有条记录中有中文字符的
到数据库中一看,中文的地方直接就显示为空了。

然后我手工插入一条数据
insert into documents values('11','1','5',Now(),'test chinese','中文显示测试');

然后再查询,这条记录是插入进去了,但是中文的地方还是显示为空

怎么回事?如何更改?
难道一定要改成gbk?

 

------解决方案--------------------
和我昨天遇到同样问题,估计是终端部支持UTF字符集 你用客户端工具写数据进去试试吧
------解决方案--------------------
set names 'gbk'
.source usr/local/sphinx/etc/table.sql