由于IIS和Apache编码方式不同,ThinkPHP在Apache中不会出现上述问题,但是放到IIS中就会出现上面的情况,是有用IIS编码不同导致中文乱码,才无搜索结果。那么解决办法就是判断服务器类型来设置编码
搜索到文件Think.class.php(路径为\\Framework\\Lib\\Core\\Think.class.php),打开文件找到
static private function buildApp() {
在下面写入
//IIS下pathinfo 汉字转化编码
if(false!==stripos($_SERVER[\'SERVER_SOFTWARE\'],\'IIS\')){
$_SERVER[\'PATH_INFO\']=iconv(\'gbk\', \'utf-8//IGNORE\', $_SERVER[\'PATH_INFO\']);
}
即可解决问题