<?php
$str = "Text";
$str = mb_convert_encoding($str, "UTF-8", mb_detect_encoding($str));
echo mb_detect_encoding($str);
?>
此代码以“ASCII”作为输出。 为什么呢?
答案 0 :(得分:2)
您的字符串没有UTF-8特定字符,只有ASCII。
添加一个:
$str = "Text È";
$str = mb_convert_encoding($str, "UTF-8", mb_detect_encoding($str));
echo mb_detect_encoding($str);
现在,您将UTF-8
作为输出,如this demo中所示。
但是,您无需运行转化以获取UTF-8
作为输出,mb_detect_encoding()
在没有此步骤的情况下选择字符串UTF-8
。
答案 1 :(得分:0)
我的假设是因为ASCII是UTF-8的一个子集,所以纯粹的ASCII“转换”为UTF-8将与ASCII无法区分。