UrlEncode后utf8中文乱码
- 日期 : 2013-08-05
众所周知GB2312编码的UrlEncode后的数据跟UTF8编码的UrlEncode后的数据是不一样的
例如:
中文 这个词
GB2312的编码为:%D6%D0%CE%C4
UTF8的编码为:%E4%B8%AD%E6%96%87
结果就是我们通过$_GET获取后的数据发生错误,为什么呢?
因为$_GET及$_REGUEST默认都是urldecode后的数据,而这两者解码后的数据并不一致
使用mb_convert_encoding转换下就可以了
mb_convert_encoding($_GET['wd'], 'utf-8', 'gb2312');