PHP 스크립트를 구현했습니다.
PHP 스크립트를 다음 URL을 통해 실행합니다. http://server/script.php?param1=%80t%80PHP + 문자 인코딩 + GET 매개 변수
PHP 스크립트에 GET 매개 변수를 전달합니다.
매개 변수의 이름은 param1입니다.
param1은 "% 80t % 80"으로 URL 인코딩 된 "€ t €"문자열을 포함합니다.
내 PHP 스크립트는 UTF-8 표준으로 인코딩됩니다.
$ _GET [ "param1"]에 포함 된 문자열에 어떤 문자 인코딩이 적용되는지 궁금합니다.
$ _GET [ "param1"]의 문자 인코딩이 UTF-8이 아닌지 확인하십시오.
그 이유는 내 PHP 스크립트의 다음 명령이 $ _GET [ "param1"]의 16 진수 표현 인 "80 74 80"이됩니다. $ _GET [ "PARAM1"]에 문자 인코딩은 UTF-8 인 경우
var_dump(unpack("H*", $_GET["param1"]));
는 이전 PHP 명령 "E2 AC 82 74 82 AC E2"을 초래할 것이다.
유로 기호가 IS0-8859-1 문자 세트에 포함되어 있지 않기 때문에 $ _GET [ "param1"]의 문자 인코딩은 ISO-8859-1이 아닙니다.
ISO-8859-1 인코딩 테이블을 보려면 http://en.wikipedia.org/wiki/ISO/IEC_8859-1
IS0-8859-1이기 때문에 mb_internal_encoding 함수가 반환 한 PHP 내부 인코딩이 $ _GET [ "param1"]에 적용되지 않습니다.
누구나 $ _GET [ "param1"]에 포함 된 문자열에 어떤 문자 인코딩이 적용되는지 알고 있습니까?
을 사용하고 있습니까? – Andreas