有个小改动,大家看看有必要吗?

10 views
Skip to first unread message

生命执着

unread,
Feb 23, 2010, 11:00:54 PM2/23/10
to sphinx-for-chinese
昨天下载编译安装完成后, 结果中文搜索无效。
自己跟踪了一下代码。 发现数据库返回的中文字段数据有问题。

应该是数据库配置问题, 但搞了好久都没好。一怒 自己把代码改了
加了句 mysql_query(&m_tMysqlDriver , "SET NAMES UTF8");
和大家分享一下。

sphinx.cpp L19725

bool CSphSource_MySQL::SqlQuery ( const char * sQuery )
{
mysql_query(&m_tMysqlDriver , "SET NAMES UTF8");
if ( mysql_query ( &m_tMysqlDriver, sQuery ) )
return false;

m_pMysqlResult = mysql_use_result ( &m_tMysqlDriver );
m_pMysqlFields = NULL;
return true;
}

alex gao

unread,
Feb 24, 2010, 1:14:35 AM2/24/10
to sphinx-fo...@googlegroups.com
有空试试看,上次用0.9.9好象是没问题的


2010/2/24 生命执着 <p4a...@gmail.com>:

> --
> You received this message because you are subscribed to the Google Groups "sphinx-for-chinese" group.
> To post to this group, send email to sphinx-fo...@googlegroups.com.
> To unsubscribe from this group, send email to sphinx-for-chin...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sphinx-for-chinese?hl=en.
>
>

Shi Zhuguo

unread,
Feb 24, 2010, 1:19:55 AM2/24/10
to sphinx-for-chinese
个人感觉完全没有必要,如果仅仅是

> 加了句 mysql_query(&m_tMysqlDriver , "SET NAMES UTF8");

那应该是数据库编码的问题,那你在配置文件里加上这句话应该就可以了

sql_query_pre = SET NAMES utf8

xin wang

unread,
Feb 24, 2010, 8:56:53 PM2/24/10
to sphinx-fo...@googlegroups.com

谢谢

Shi Zhuguo


sql_query_pre = SET NAMES utf8  是好办法
Reply all
Reply to author
Forward
0 new messages