对于这个问题,网上有很多网友采用了这样一种解决方法,比如:
top.html /title/{$tag} 改为:/title/{$tag|urlencode|urlencode}
menu.html {$Think.get.title} 改为:{$Think.get.title|urldecode|urldecode}
然而经过本人在自己的网站(新意购物)进行测试,并没有效果,不知道其他的网友有没有碰到过这种情况!那这究竟是什么原因导致的呢,在apache下没有问题,而在IIS下存在这个问题,同时我的URL模式采用的是pathinfo的模式,我初步估计是IIS对pathinfo的支持不够好,于是得到了如下修改方式,以thinkphp提供的是例为例:
'/menu/tag/2/title/系统设置' 改为: '/menu/tag/2?title=系统设置'
最终发现这样修改之后,问题得到解决,采用这个方法后不论是$Think.get.title引起的乱码还是get引起的乱码都解决了,不论这个方法对大家有没有实质性的作用,也不管效率怎么样,这不失为一个解决问题的办法.