<?php
$str = "Text";
$str = mb_convert_encoding($str, "UTF-8", mb_detect_encoding($str));
echo mb_detect_encoding($str);
?>
这段代码给了我“ASCII”作为输出。为什么?
<?php
$str = "Text";
$str = mb_convert_encoding($str, "UTF-8", mb_detect_encoding($str));
echo mb_detect_encoding($str);
?>
这段代码给了我“ASCII”作为输出。为什么?
您的字符串没有 UTF-8 特定字符,只有 ASCII。
添加一个:
$str = "Text È";
$str = mb_convert_encoding($str, "UTF-8", mb_detect_encoding($str));
echo mb_detect_encoding($str);
您UTF-8
现在将获得输出,如本演示中所示。
但是,您不需要运行转换来获取UTF-8
输出,mb_detect_encoding()
可以发现字符串UTF-8
没有这一步。
我的假设是,因为 ASCII 是 UTF-8 的子集,所以纯 ASCII “转换”为 UTF-8 将与 ASCII 无法区分。