2014-05-21 3 views
0

? key = é와 같은 get 매개 변수를 추가하면 PHP는 해당 값을 즉시 UTF8로 변환합니다. 내 스크립트 UTF8하지 내가 1. 없음 2.PHP : ANSI로 인코딩 된 입력 가져 오는 방법

는 어떻게 얻을 수 있어야한다 $ _GET [ '키'] 그 값의

나 strlen을 수행하여 ISO-8859-1의 데이터를 받아야합니다 mb 또는 iconv와 같은 종속성을 사용하지 않고 비 UTF8로 해당 데이터를 저장합니다.

+0

문자열을 HTML로 변환하고 싶지 않습니다. 그리고 나는 strlen ($ _GET [ 'key'])을 원한다. – jsgoupil

답변

1

? key = é와 같은 get 매개 변수를 추가하면 PHP는 해당 값을 즉시 UTF8로 변환합니다. 내 스크립트는 UTF8이 아니므로 $ _GET [ 'key']를 실행하여 ISO-8859-1의 데이터를 가져와야합니다.

이 구문은 올바르지 않습니다. PHP는 여기에서 책임을지지 않습니다. 웹 브라우저이 UTF-8 문자열 인코딩으로 웹 서버에 데이터를 보내고 있고, PHP가이를 동일한 양식으로 응용 프로그램에 전달하고 있습니다.

"ANSI"는 문자열 인코딩이 아닙니다. 이 용어는 Windows 시스템에서 때로는 영어 시스템의 Windows-1252 (ISO-8859-1과 유사)이지만 로켈에 따라 다를 수있는 시스템의 원시 문자열 인코딩을 (잘못해서!) 사용하는 용어입니다. 그 값의

나 strlen

1.해야하지 2.

아니라 바이트보다 문자 길이를 반환 strlen()하도록하려면 활성화해야의 기능입니다 PHP의 multibyte function overloading, mbstring 확장자를 사용하거나 문자열을 iconv을 사용하는 단일 바이트 문자열 인코딩으로 변환하십시오 (손실 프로세스 임).

mbstring, iconv 또는 이와 유사한 항목을 사용하지 않고이 변환을 수행 할 방법이 없습니다.

관련 문제