I’m facing an issue with some accented characters (like ‘é’, ‘è’, ‘à’, …) in an URL and I wanted to convert them to an hex value in PHP. I found nothing on Google so I have finally created my own function for my needs :
function encodeURIHex($str) { $len=strlen($str); $ret=""; for ($i=0; $i<$len; $i++) { $dec = ord($str[$i]); if ($dec > 191 && $dec < 256) $ret .= "%".strtoupper(dechex($dec)); else $ret .= $str[$i]; } return $ret; }
Example :
encodeURIHex("Mère"); // -> M%E8re
I used this array to find which values of dec version of my char I wanted to use (from 192 to 255 in my case).