php 字符串迭代不检测 Π 符号


php String iteration does not detect Π symbol

我在PHP"S*+%2YKΠ3)3Π+)+Θ"中有字符串,我想迭代。

我的代码 :

$string = "S*+%2YKΠ3)3Π+)+Θ";
$charLength = mb_strlen($string);
for($i = 0 ; $i < $charLength ; $i++) {
    $char = mb_substr($string, $i , 1);
    if($char == 'Π') {
       echo "this is my Π character";
    }
}

但我从不输入回声语句来得到"这是我的 Π 字符",

有人可以帮助我解决这个问题,请...我已经在寻找其他人的答案,例如:

如何在PHP上将任何字符编码转换为UTF8

将 utf8 字符转换为 iso-88591 并重新转换为 PHP

PHP:在不知道原始字符集的情况下将任何字符串转换为 UTF-8,或者至少尝试

如何在 php 中将字符串转换为 utf-8 代码

但永远不要为我的案子工作。谢谢

这样的代码很好,但是存在许多可能的陷阱:

  1. 您需要告诉mb函数它们应该处理什么编码。要么将编码单独传递给每个人(例如 mb_strlen($string, 'UTF-8') ),或使用 mb_internal_encoding 设置一次编码。
  2. 如果您希望字符串文本采用 UTF-8 编码,则必须以 UTF-8 格式保存.php源代码文件。在您选择的文本编辑器中检查您是否实际保存了编码为 UTF-8(无 BOM)的文件。