问题描述
输入中文搜索的时候,中文就变成了单个字母的乱码,而字母和数字都正常,如图:控制台输出的第一行是原始搜索关键字,第二行url中的是经过urlencode后的,第三行是后端接收到的关键字(变成了乱码)原来网站的搜索功能还是正常的,自从服务器换了机房后就出现这种问题了,而我在本地调试程序,搜索也是正常的,请大家指教
解决方案
解决方案二:
js么?用escape()这玩意处理中文乱码
解决方案三:
引用1楼zifengshen1981的回复:
js么?用escape()这玩意处理中文乱码
已经用encodeURIComponent做过编码了
解决方案四:
服务端先不要解码,看看收到的原始值是否和urlEncode一致
解决方案五:
引用3楼dongxinxi的回复:
服务端先不要解码,看看收到的原始值是否和urlEncode一致
[b]<%setDataTabletuijianDianpu=GetCachePage("t_lan",{pageindex},{pagesize},"t_namelike'%"+{query}+"%'orderbyt_pingfendesc,t_iddesc")%>这是接收页面的代码,解不解码都是一样乱码
解决方案六:
前台js要使用escape()处理,后台也要使用Server.UrlDecode处理。
解决方案七:
引用5楼u013512009的回复:
前台js要使用escape()处理,后台也要使用Server.UrlDecode处理。
也不行
解决方案八:
引用4楼wstrong007的回复:
Quote: 引用3楼dongxinxi的回复:
服务端先不要解码,看看收到的原始值是否和urlEncode一致[b]<%setDataTabletuijianDianpu=GetCachePage("t_lan",{pageindex},{pagesize},"t_namelike'%"+{query}+"%'orderbyt_pingfendesc,t_iddesc")%>这是接收页面的代码,解不解码都是一样乱码
你这个是什么?你看一下{query}这里面的原始值,PageLoad中Request.QueryString["query"]是什么,不调任何其他的方法