我得到了这个php脚本:
$str = "ú";
echo $str . ' -> ' . urlencode($str) . "'n" ;
预期结果:
ú -> %FA
参考:http://www.w3schools.com/tags/ref_urlencode.asp
实际结果
ú -> %C3%BA
试试这个:
urlencode(utf8_decode($str));
这应该会给你带来预期的结果。
您将ú
编码为UTF-8(请检查示例代码的编码),因此urlencode
确实将其正确编码为%C3%BA
。
你或多或少指的是:
$str = "'xFA"; # ú in LATIN-1
echo $str . ' -> ' . urlencode($str) . "'n" ;
无论您如何编码php代码/-file:,它都会给您带来预期的结果
ú -> %FA
Demo,该站点使用UTF-8来存储源代码。如果您希望输出显示为LATIN-1,此附加示例会向浏览器发出LATIN-1字符集的信号:
header('Content-Type: text/html; charset=latin-1');
$str = "'xFA"; # ú in LATIN-1
echo $str . ' -> ' . urlencode($str) . "'n" ;