Кодировать любой символ в числа / латиницу и декодировать его обратно - PullRequest
1 голос
/ 27 марта 2011

У меня есть строка UTF8, которая содержит не английские символы.Мне нужно преобразовать их в латиницу / цифры, а затем вернуть их обратно.

Я пытался htmlentities('字')

Результат - å­�, но мне нужно что-то вроде x3445, чтобы я могиспользуйте html_entity_decode() или что-то подобное, что вернет исходный символ.

Как я могу сделать это с PHP?

Ответы [ 2 ]

1 голос
/ 27 марта 2011

К сожалению, htmlentities будет кодировать только те символы, которые имеют именованный объект. Чтобы преобразовать все остальное в числовой объект, вы можете использовать mb_encode_numericentities. Например,

$string = mb_encode_numericentity(htmlentities($string, ENT_QUOTES, 'UTF-8'), array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
0 голосов
/ 27 марта 2011

Третий параметр функции htmlentities позволяет вам установить кодировку, которую вы хотели бы использовать для преобразования. См. http://au.php.net/manual/en/function.htmlentities.php

...