帝国cms全文搜索导入数据内容出现“-32 -32”的问题
帝国cms自带的搜索功能是没有办法实现跨表搜索的, 所以帝国cms附带了全文搜索功能,原理为将所有需要搜索的数据表内容的标题(title)、正文(newstext)字段都导入到全文搜索数据表里,通过mysql的MATCH()函数来实现模糊搜索。
小编在后台导入全文搜索数据后,发现数据表里的数据都是“-32-32-32-32”,如下图:
当前系统环境为windows server2008,环境组件为iis、php7.0、mysql5.6,通过查找发现是/e/class/schallfun.php中位于第79行的LoadSearchAll()方法,在此处读出同步的数据并写入全文搜索数据表,关键在于161、162行进行了转义、清理html标签等操作。
至于为什么在本环境下通过iconv转码时反而出现了乱码暂未找到答案,所以采用取消转码的方法暂时可用。
注销掉了73行,这样就不会进行转码了。