【发布时间】:2011-06-16 18:14:46
【问题描述】:
在请求 URL 上,我可以获得查询字符串 ?dir=Documents%20partag%C3%A9s 或 ?dir=Documents%20partag%E9s。我认为第一个是 UTF-8,第二个是 ASCII。
真正的字符串是:Documents partagés
所以,我有一个 PHP 脚本(UTF-8 格式),我想做的是检测查询字符串是 ASCII 还是 UTF-8,如果是 ASCII,则将其转换为 UTF-8。
我尝试使用 mb_ 函数,但查询字符串始终被检测为 ASCII,查询字符串的 urldecode 版本为 UTF-8。
我怎样才能做到这一点?请注意,Wikipedia 有一个类似的功能 - 它将自己编码为 %E9 到 %C3%A9。
【问题讨论】:
-
也许php.net上的这条评论可以帮助你:at2.php.net/manual/en/function.mb-check-encoding.php#95289
标签: php utf-8 character-encoding query-string ascii