假设我用西里尔文写了“俄语”这个词。这是下列十六进制数的等效值:
Русский
我的问题是:如何编写一个函数,它将从西里尔文中的“俄语”变为上面提到的十六进制值?对于单字节字符,这个函数也能工作吗?
最佳答案
〹
项目称为html实体。在php中有一个函数可以创建这些:mb_encode_numericentity
,它是Multibyte String扩展(Demo)的一部分:
$cyrillic = 'русский';
$encoding = 'UTF-8';
$convmap = array(0, 0xffff, 0, 0xffff);
$encoded = mb_encode_numericentity($cyrillic, $convmap, $encoding);
echo $encoded; # русский
但是:你需要知道你的西里尔字符串的编码。在本例中,我选择了
UTF-8
,根据它,您需要修改函数的$encoding
参数和$convmap
数组。