如图二维码
扫描后解析出来是乱码
urlencode后是如下内容
%c2%b0%c3%99%c2%b6%c3%88%c2%b0%c3%99%c2%bf%c3%86%c2%a3%c2%ad%c2%b6%c3%be%c3%8e%c2%ac%c3%82%c3%ab%c2%b4%c3%8a%c3%8c%c3%b5
我用微信扫描解析却是可以的
内容是百度百科-二维码词条
这是经过了什么编码处理过么?怎么才能得到真正的结果?
回复讨论(解决方案) http://cli.im/deqr
使用这个解析器也是
$s = '%c2%b0%c3%99%c2%b6%c3%88%c2%b0%c3%99%c2%bf%c3%86%c2%a3%c2%ad%c2%b6%c3%be%c3%8e%c2%ac%c3%82%c3%ab%c2%b4%c3%8a%c3%8c%c3%b5';$s = urldecode($s);echo utf8_decode($s);
百度百科-二维码词条
解得的串是 gbk 编码的
大神现身立马解决问题了,
现在还有一个疑问,请问我应该如何判断什么时候应该用utf8_decode呢
这样判断能看明白吗 $s = '%c2%b0%c3%99%c2%b6%c3%88%c2%b0%c3%99%c2%bf%c3%86%c2%a3%c2%ad%c2%b6%c3%be%c3%8e%c2%ac%c3%82%c3%ab%c2%b4%c3%8a%c3%8c%c3%b5';$s = urldecode($s);if(mb_check_encoding('utf-8')) { $n = 0; for($i=0; $i strlen($s)/2 * 0.8) $s = utf8_decode($s);}echo $s;
其实直接统计原串中 %c 的个数也是一样的
我刚才自己尝试的用mb_detect_encoding(utf8_decode('阿萨德asda'))=='ascii' 这样来判断需要用
不知道这样精确不