如何正确地url编码字符串

时间:2016-11-17 11:03:02

标签: php html decode encode

我试图将文件名解析为url字符串。

文件名是:

201-SALÃO DE JOGOS.jpg

我需要输出正是这样:

201-SAL%c3O%20DE%20JOGOS.jpg

我试着这样:

$var = 201-SALÃO DE JOGOS.jpg;
echo urlencode($var);

但它会返回:

201-SAL%C3%83O+DE+JOGOS.jpg

这不是有效的网址。我已经尝试使用htmlspecialchars()htmlentities(),但这些都不起作用。

2 个答案:

答案 0 :(得分:2)

您需要rawurlencode

$filename = "201-SALÃO DE JOGOS.jpg";
print rawurlencode($filename);

答案 1 :(得分:0)

您可以使用str_replace+替换为%20

<?php

$var = "201-SALÃO DE JOGOS.jpg";
$output = str_replace('+','%20',urlencode($var));
echo $output;
echo "*****";
echo urldecode($output);
?>