Windows 服务器,MySQL 设置是 utf8_general_ci。存储中英文混合的 $url 字符串,比如 http://example.com/?str=001,中文。
使用 mb_detect_encoding($url, array('ASCII', 'GB2312', 'GBK', 'UTF-8')) 得到编码是 CP936。
使用 mb_convert_encoding($url, 'UTF-8', $encode) 无效。
Google 到 cnblog 上一个方法。
使用 iconv('UTF-8', 'latin1', $url) 报 Detected an illegal character in input string。
使用 iconv('UTF-8', 'latin1//IGNORE', $url) 执行后发现中文丢失。
以上各个过程中 print_r($url) 都是正常输出的。但将生成的 $url 在浏览器中,中文获取乱码。
目前完全卡住,求大佬们搭救,在线等。