Php mb_detect_编码是否为ASCII码
如何在PHP中从ASCII转换为UTF-8?ASCII的字符是Unicode的子集,ASCII的码字也是有效的UTF-8。因此,您不需要转换,因为每个ASCII字符串也是有效的UTF-8字符串(但反之亦然)。您可以使用mb\u convert\u encoding()或iconv()来转换字符编码。如果字符是有效的ASCII,则它是有效的UTF-8,无需转换 那么为什么在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你怎么会这么想?
json\u encode
中无法将UTF-8和ASCII字符串组合在一起呢?如果它们都是一样的话?@Green你怎么会这么想?对不起。似乎我只是忘记了JSON.parse
服务器的响应。我使用俄语回答关于在ZF2中验证用户凭据的问题。因此,当我设置一些俄语消息(utf-8 ifmb\u detect\u encoding
)和一些来自ZF2的默认消息(ASCII ifmb\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 );
}