URL에서 잘못된 중국어 매개변수 전송 문제를 해결하는 PHP의 방법: 1. urlencode 및 urldecode 기능을 사용하여 트랜스코딩합니다. 2. "iconv("gb2312","UTF-8",$gonghui);"를 통해 트랜스코딩합니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터.
PHP는 URL에서 중국어 매개변수가 왜곡되는 문제를 어떻게 해결합니까?
PHP 주소 표시줄에 전송되는 중국어 왜곡 문자에 대한 솔루션 모음
PHP 주소 표시줄의 중국어 $_GET이 왜곡되어 있습니다. urlencode 및 urldecode 사용에 대한 자세한 설명
url 인코딩
구문: 문자열 urlencode(string str);
반환 값: 문자열
함수 유형: 인코딩 처리
예:
코드는 다음과 같습니다:
<?php $ChineseName="我的名字,是中文的哦"; $EncodeStr=urlencode($ChineseName); echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>"; ?>
url 디코딩
URL 인코딩된 문자열을 복원합니다.
구문: string urldecode(string str);
반환값: 문자열
함수 종류: 인코딩 처리
예:
앞에 전달된 중국어를 처리하여 표시
코드는 다음과 같습니다.
<?php $DecodeStr=urldecode($_GET['name']);//你可能不用解码都可以,因为浏览器会自动帮你解码 echo $DecodeStr; ?>
사용 방법 PHP의 메소드 가져오기 url에서 얻은 중국어 문자 문제 문제
Use $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] ) **/
//工会登入参 $gonghui = $_GET['gh'];
//工会登入参数 $gonghui = $_GET['gh']; $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");
전체 페이지 변환 조정이 방법은 모든 코딩 환경에 적합합니다. 이런 방식으로 처음 128자(표시 문자) 이외의 문자 집합은 NCR로 표시됩니다("한자"와 같은 숫자 문자 참조는 "汉字" 형식으로 변환됩니다). 이 인코딩은 어떤 코딩 환경에서도 페이지가 정상적으로 표시될 수 있습니다. php 파일의 헤드에 다음 세 줄의 코드를 추가하세요. 코드는 다음과 같습니다.
mb_internal_encoding("gb2312"); // 这里的gb2312是你网站原来的编码 mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');
php.ini 파일을 편집하고 확장명=php_mbstring.dll 앞의 ;를 제거한 후 웹 서버를 다시 시작하세요.
컴파일 및 구성 시 --enable-mbstring=cn 컴파일 매개변수를 추가한 후 PHP를 컴파일하고 설치합니다.
다른 네티즌의 세 번째 참조 방법:
//方法一 urldecode $url = 'aaa.php?region='.urldecode("四川省"); <a href="<?php echo $url;?>">aaa </a> //方法二base64_encode <? $test="四川省"; $test1=base64_encode($test); echo '<a href="www.jb51.net?region=$test1">aaa </a>'; ?>
base64_decode($region); //方法三让服务器支持中文 [root@dhcp ~]# locale lang=zh_cn.utf-8 lc_ctype="zh_cn.utf-8" lc_numeric="zh_cn.utf-8" lc_time=c lc_collate=c lc_monetary="zh_cn.utf-8" lc_messages="zh_cn.utf-8" lc_paper="zh_cn.utf-8" lc_name="zh_cn.utf-8" lc_address="zh_cn.utf-8" lc_telephone="zh_cn.utf-8" lc_measurement="zh_cn.utf-8" lc_identification="zh_cn.utf-8" lc_all= [root@dhcp ~]#
PHP 비디오 튜토리얼"
위 내용은 PHP URL의 중국어 매개변수가 왜곡되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!