PHP 매개변수가 왜곡되는 이유는 인코딩이 일관되지 않기 때문입니다. 해결 방법은 "mb_Detect_encoding($typeName,'CP936,UTF-8')"과 같이 수정 코드를 사용하는 것입니다. .
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터.
PHP 매개변수가 왜곡되는 이유
php 매개변수가 왜곡되는 솔루션
웹사이트 프로젝트가 gb2312를 프로젝트 인코딩으로 사용하는 경우 브라우저마다 한자를 다르게 인코딩할 수 있으므로 일부는 중국어를 웹사이트 인코딩으로 인코딩하고 일부는 인코딩합니다. 중국어를 utf-8로 변환하면 백그라운드에서 매개변수를 수신할 때 왜곡된 오류가 발생합니다. 더 나은 해결책은 매개변수에서 한자를 식별하고 gb2312가 아닌 경우 변환하는 것입니다.
$typeName = $_GET['typeName']; $encode = mb_detect_encoding($typeName,'CP936,UTF-8') ; //如果是CP936,就是gbk编码,如果是UTF-8, 就是utf-8编码 if ($encode =='UTF-8') { //再调用转换成utf-8编码的函数,最终确保是utf-8 $typeName = iconv("utf-8","gb2312",$typeName); }
웹사이트 코딩 문제 및 향후 확장을 위해 uft-8 인코딩을 사용하는 것이 좋습니다
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 전달된 매개변수가 왜 깨졌나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!