$output = "ALLWILLBEASCII";
foreach ($output as $name => $value) {
echo mb_detect_encoding($value);
}
PHP에서 ASCII를 어떻게 UTF-8로 변환합니까?mb_detect_encoding is ASCII
$output = "ALLWILLBEASCII";
foreach ($output as $name => $value) {
echo mb_detect_encoding($value);
}
PHP에서 ASCII를 어떻게 UTF-8로 변환합니까?mb_detect_encoding is ASCII
ASCII의 문자는 유니 코드의 하위 집합이며 ASCII 코드 워드도 유효한 UTF-8입니다. 따라서 모든 ASCII 문자열이 올바른 UTF-8 문자열이기 때문에 변환이 필요하지 않습니다 (반대의 경우도 마찬가지 임).
mb_convert_encoding() 또는 iconv()를 사용하여 문자 인코딩을 변환 할 수 있습니다.
문자가 유효한 ASCII 인 경우 유효한 UTF-8 변환 할 항목이 없습니다. http://en.wikipedia.org/wiki/UTF-8
그렇다면'json_encode'에서 UTF-8과 ASCII 문자열을 모두 결합 할 수없는 이유는 무엇입니까? – Green
@ 그린 당신은 어떻게 생각하니? – Gumbo
죄송합니다. 방금 서버에서 응답을 JSON.parse하는 것을 잊어 버린 것 같습니다. ZF2에서 사용자 자격 증명의 유효성 확인에 대한 답변에 러시아어를 사용합니다. 그래서 몇몇 러시아 메시지 ('mb_detect_encoding'이라면 utf-8)와 ZF2 (ASCII는'mb_detect_encoding'이라면)에서 디폴트 값을 갖는 메세지를 하나의 json 응답으로 결합하면'alert (xhr.response) '러시아어는'[ "\ u0440 \ u0436 \ u0438 \ u0442 ...'와 같지만 영어는 정상입니다''입력이 DNS 호스트 이름 인 것 같습니다. '. 그러나'JSON.parse (xhr.response) '이후 그들은 모두 정상입니다 :) – Green
@Green 일부 JSON 인코더는 안전하고 Unicode 이스케이프 시퀀스'\ uxxxx'를 사용하여 비 ASCII 문자를 인코딩하도록 선택합니다 ([RFC 4627 ] (http://tools.ietf.org/html/rfc4627#section-2.5))을 사용하여 일반 ASCII를 기반으로하는 프로토콜과의 호환성을 보장합니다. – Gumbo