urlencode rawurlencode RFC 1738. 2005 RFC, URI, RFC 3986.
, DOM UTF-8, RFC 3629. utf8_encode() utf8_decode() ISO-8859-1 Iconv .
URI , URI, URI , , UTF-8 .
URL- RFC 3986.
<?php
function myUrlEncode($string) {
$entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
$replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
return str_replace($entities, $replacements, urldecode($string));
}
?>
PHP Fiddle.
Update:
UTF8 $message:
$dom_document->loadHTML(mb_convert_encoding($message, 'HTML-ENTITIES', 'UTF-8'))
urldecode($message) URL .
die(urldecode($message) . ' and url encoded version: ' . $urlencodedmerge);