ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014-06-26 00:00
1011 查看
在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果。查看数据库发现数据是存在的。问题出在哪了呢?
形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用
参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果。
紧接着测试转换编码iconv()函数,结果成功了。
浏览器默认的编码是GB2312的,而这个项目采用的是UTF-8编码的。
下面就将错的代码和修正后的代码给大家看一下:
另外,本方法只适用于iis环境。
还要注意,$_GET接收参数的时候本身就有urldecode转码功能,不需要再进行urldecode解码操作!
形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用
参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果。
紧接着测试转换编码iconv()函数,结果成功了。
浏览器默认的编码是GB2312的,而这个项目采用的是UTF-8编码的。
下面就将错的代码和修正后的代码给大家看一下:
$kw= $_GET['_URL_']['2']; //错误的代码,在iis上能获取的参数,但是查询不出结果的。 $kw= iconv("gb2312","utf-8",$_GET['_URL_']['2']); //经过编码转换的,能够查询出结果的。
另外,本方法只适用于iis环境。
还要注意,$_GET接收参数的时候本身就有urldecode转码功能,不需要再进行urldecode解码操作!
相关文章推荐
- ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
- ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
- [前端]解决form表单采用get方式提交中文参数乱码的方法
- jquery的get方式的ajax方法带参数的那种会出现获取到的参数是乱码的解决
- jsp获得get方式请求中文参数解决方法
- 以get方式提交中文参数乱码的解决方法
- jsp url get 方式中文传参数 解决方法
- IE下get方式传中文参数乱码解决方法
- 在Servlet中使用getParameter()方法获取get请求中的中文参数乱码解决方法
- struts2以GET方式接收的参数是中文时会乱码的解决方法
- json传递中文乱码解决方法以及解决request.getParameter()获取参数为乱码的问题
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- GET方法和POST获取中文参数出现乱码的问题及解决方法
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- struts2以GET方式接收的参数是中文时会乱码的解决方法
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- 后台获取ajax传参, request.getParameter(“参数名”) 中文乱码解决方法
- PHP连接MySQL查询结果中文显示乱码解决方法
- 解决ThinkPHP中以Get方式提交中文字符乱码
- GET方法URL中传递中文参数乱码的解决方法