Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mb_detect_编码是否为ASCII码_Php_Html_Utf 8_Ascii - Fatal编程技术网

Php mb_detect_编码是否为ASCII码

Php mb_detect_编码是否为ASCII码,php,html,utf-8,ascii,Php,Html,Utf 8,Ascii,如何在PHP中从ASCII转换为UTF-8?ASCII的字符是Unicode的子集,ASCII的码字也是有效的UTF-8。因此,您不需要转换,因为每个ASCII字符串也是有效的UTF-8字符串(但反之亦然)。您可以使用mb\u convert\u encoding()或iconv()来转换字符编码。如果字符是有效的ASCII,则它是有效的UTF-8,无需转换 那么为什么在json\u encode中无法将UTF-8和ASCII字符串组合在一起呢?如果它们都是一样的话?@Green你怎么会这么想?

如何在PHP中从ASCII转换为UTF-8?

ASCII的字符是Unicode的子集,ASCII的码字也是有效的UTF-8。因此,您不需要转换,因为每个ASCII字符串也是有效的UTF-8字符串(但反之亦然)。

您可以使用mb\u convert\u encoding()或iconv()来转换字符编码。

如果字符是有效的ASCII,则它是有效的UTF-8,无需转换

那么为什么在
json\u encode
中无法将UTF-8和ASCII字符串组合在一起呢?如果它们都是一样的话?@Green你怎么会这么想?对不起。似乎我只是忘记了
JSON.parse
服务器的响应。我使用俄语回答关于在ZF2中验证用户凭据的问题。因此,当我设置一些俄语消息(utf-8 if
mb\u detect\u encoding
)和一些来自ZF2的默认消息(ASCII if
mb\u detect\u encoding
),并将它们组合在一个json答案中时,我在
alert(xhr.response)
中看到俄语消息类似于
[“\u0440\u0436\u0438\u0442…”
,但英语消息是正常的
”输入似乎是DNS主机名…
。但是在
JSON.parse(xhr.response)
之后,它们都是正常的:)@Green一些JSON编码器选择安全起见,并使用Unicode转义序列
\uxxx
(请参阅)对任何非ASCII字符进行编码,以与基于普通ASCII的协议兼容。
$output = "ALLWILLBEASCII";
foreach ($output as $name => $value) {
    echo mb_detect_encoding( $value );
}