Алекс Кирсанов Asked:2020-11-19 17:42:29 +0800 CST2020-11-19 17:42:29 +0800 CST 2020-11-19 17:42:29 +0800 CST 带有字母“Y”的错误 772 我注意到在一些难以理解的情况下,php 认为字母“Y”不是 1 个字符,而是两个字符。因此,会出现各种问题,例如,在使用 mb_substr 函数迭代字符时。如何解决这个问题? php 1 个回答 Voted Best Answer vp_arth 2020-11-19T17:57:11+08:002020-11-19T17:57:11+08:00 您可以应用规范化: $i1 = "\xd0\xb9"; // й $i2 = "\xd0\xb8\xcc\x86"; // и с дужкой echo $i1, ' ', strlen($i1), ' ', mb_strlen($i1), ' ', mb_strlen(Normalizer::normalize($i1, Normalizer::NFC)), "\n"; echo $i2, ' ', strlen($i2), ' ', mb_strlen($i2), ' ', mb_strlen(Normalizer::normalize($i2, Normalizer::NFC)), "\n"; 我 2 1 1 我 4 2 1 归一化后,d 的复合版本变成了简单版本。 3v4l
您可以应用规范化:
归一化后,d 的复合版本变成了简单版本。
3v4l