>  기사  >  백엔드 개발  >  PHP get에서 매개변수가 왜곡되는 문제를 해결하는 방법

PHP get에서 매개변수가 왜곡되는 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-11-20 09:37:002496검색

PHP 매개변수 가져오기 문제 해결 방법: 1. "iconv("gb2312","UTF-8",$gonghui);" 방법을 사용하여 잘못된 문제를 해결합니다. 2. "mb_convert_encoding" 방법을 사용하여 잘못된 문제를 해결합니다. 문제.

PHP get에서 매개변수가 왜곡되는 문제를 해결하는 방법

권장: "PHP Video Tutorial"

php는 get 메소드를 사용하여 URL 솔루션에서 중국어 왜곡 코드를 가져옵니다

다음은 두 가지 방법입니다

첫 번째 방법은 $gonghui =를 사용합니다. iconv ("gb2312","UTF-8",$gonghui);

두 번째 방법

**  
* 多字节字符串编码转换函数  
 
*  
 
* @param string str 需要进行编码转换的字符串  
 
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等  
 
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码  
 
* @return string  
 
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )  
**/

mb_convert_encoding 함수는 PHP 내부 멀티바이트 문자열 인코딩 변환 함수로, 필요할 때 거의 모두 사용할 수 있습니다. 인코딩이 지원됩니다. PHP >= 4.0.6, 5개 버전이 지원됩니다.

reg.php?gh=XX를 직접 가져옵니다.

 //工会登入参
$gonghui = $_GET['gh'];

얻은 $gonghui는 gb2312로 인코딩되어 utf-8 웹페이지에 출력되며,

이를

 //工会登入参数
 $gonghui = $_GET['gh'];
 $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");

로 변경하면 디스플레이가 정상이 됩니다.

전체 페이지 변환

이 방법은 모든 코딩 환경에 적합합니다. 이런 방식으로 처음 128자(표시 문자) 이외의 문자 집합은 NCR로 표시됩니다("한자"와 같은 숫자 문자 참조는 "汉字"으로 변환됩니다). is 페이지는 어떤 코딩 환경에서도 정상적으로 표시될 수 있습니다.

php 파일의 헤드에 다음 세 줄의 코드를 추가합니다.

mb_internal_encoding("gb2312");  // 这里的gb2312是你网站原来的编码     
mb_http_output("HTML-ENTITIES");     
ob_start('mb_output_handler');

mb_convert_encoding 함수를 사용하려면 PHP의 mbstring(멀티바이트 문자열) 확장을 활성화해야 합니다.

PHP의 mbstring 확장이 활성화되지 않은 경우, PHP가 확장을 지원하도록 하려면 다음 설정을 지정해야 합니다.

1. Windows 서버 환경

php.ini 파일을 편집하고 확장명=php_mbstring.dll 앞의 ;를 제거한 후 웹 서버를 다시 시작하세요.

2. Linux 서버 환경

구성 컴파일 시 --enable-mbstring=cn 컴파일 매개변수를 추가한 후 PHP를 컴파일하고 설치합니다.

위 내용은 PHP get에서 매개변수가 왜곡되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.