如何在PHP 5.1中将E5%AE%89%E5%85%A8转换为此格式安全

时间:2015-06-19 08:50:28

标签: php mysql

我从这样的网址获得了一个关键字var:

search.php?keyword=%E5%AE%89%E5%85%A8

使用utf8编码。然后我想将关键字转换为这种格式:

安全

所以我可以在MySQL / PHP /

中使用它

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

这应该有用。

$html = mb_convert_encoding($_GET['keyword'], 'HTML-ENTITIES', 'UTF-8');
echo htmlspecialchars($html);
//安全

答案 1 :(得分:0)

第一个是url编码,你想要的是html实体。

$string  = urldecode('%E5%AE%89%E5%85%A8'); // == 安全
$string2 = htmlentities($string); // == 安全
$string3 = htmlspecialchars($string2); // == 安全

你问题中的一个是编码(&转换为&),我认为这是错误的。

23433 十进制等于十六进制x5B89。第二个代码相同。对于浏览器,如果它是十进制或十六进制并不重要。

如果您真的打算使用双重编码,请在上面的代码中使用htmlspecialchars($string);