Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - convert unicode to character [duplicate]

Tags:

php

unicode

Possible Duplicate:
How to get the character from unicode value in PHP?
PHP: Convert unicode codepoint to UTF-8

How can I convert a unicode character such as %u05E1 to a normal character via PHP?

The chr function not covering it and I am looking for something similar.

like image 506
jazz Avatar asked Mar 08 '26 08:03

jazz


1 Answers

"%uXXXX" is a non-standard scheme for URL-encoding Unicode characters. Apparently it was proposed but never really used. As such, there's hardly any standard function that can decode it into an actual UTF-8 sequence.

It's not too difficult to do it yourself though:

$string = '%u05E1%u05E2';
$string = preg_replace('/%u([0-9A-F]+)/', '&#x$1;', $string);
echo html_entity_decode($string, ENT_COMPAT, 'UTF-8');

This converts the %uXXXX notation to HTML entity notation &#xXXXX;, which can be decoded to actual UTF-8 by html_entity_decode. The above outputs the characters "סע" in UTF-8 encoding.

like image 51
deceze Avatar answered Mar 10 '26 21:03

deceze



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!