>백엔드 개발 >PHP 문제 >PHP URL 중국어 왜곡 문자에 대한 솔루션 요약

PHP URL 중국어 왜곡 문자에 대한 솔루션 요약

藏色散人
藏色散人원래의
2020-07-07 09:40:212875검색

중국어 왜곡된 PHP URL에 대한 해결 방법: 1. "urlencode" 함수를 사용하여 URL 인코딩 문제를 해결합니다. 구문은 "string urlencode(string str);"입니다. 2. "urldecode" 함수를 사용하여 URL 인코딩을 복원합니다. 끈.

PHP URL 중국어 왜곡 문자에 대한 솔루션 요약

php 주소 표시줄의 중국어 $_GET가 다운로드 후 깨졌습니다. urlencode 및 urldecode 사용에 대한 자세한 설명

url 인코딩

구문: ​​string urlencode(string str);

반환 값: 문자열

함수 유형: 인코딩 처리

예:

코드는 다음과 같습니다:

<?php
$ChineseName="我的名字,是中文的哦";
$EncodeStr=urlencode($ChineseName);
echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>";
?>

urldecoding

URL 인코딩된 문자열을 복원합니다.

구문: ​​string urldecode(string str);

반환값: 문자열

함수 유형: 인코딩 처리

예:

앞에 전달된 중국어를 처리하여 표시

코드는 다음과 같습니다.

<?php
$DecodeStr=urldecode($_GET[&#39;name&#39;]);//你可能不用解码都可以,因为浏览器会自动帮你解码
echo $DecodeStr;
?>

PHP가 get 메소드를 사용하여 URL에서 얻은 중국어 왜곡 코드 문제에 대하여

$gonghui = iconv("gb2312","UTF-8",$gonghui); 사용 PHP 내부의 다기능입니다. 바이트 문자열 인코딩 변환 기능은 필요할 때 거의 모든 인코딩을 지원할 수 있습니다.

PHP >= 4.0.6, 5개 버전이 지원됩니다.

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

/**
* 多字节字符串编码转换函数
*
* @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는 gb2312로 인코딩되어 utf-8 웹페이지에 출력되며,

이를

 //工会登入参
$gonghui = $_GET[&#39;gh&#39;];

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

전체 페이지 변환

이 방법은 모든 코딩 환경에 적합합니다. 이러한 방식으로 처음 128자(표시 문자)를 제외한 모든 문자 세트는 NCR로 표시됩니다("한자"와 같은 숫자 문자 참조는 "한자"로 변환됩니다). 이 인코딩은 페이지에서 사용할 수 있습니다. 모든 인코딩 환경에서 정상적으로 표시됩니다.

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

코드는 다음과 같습니다.

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

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

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

1. Windows 서버 환경

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

2. Linux 서버 환경

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

다른 네티즌의 세 번째 참조 방법:

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

또 다른 페이지는 base64_decode를 사용하여 디코딩합니다.

//方法一 urldecode
$url = &#39;aaa.php?region=&#39;.urldecode("四川省");
<a href="<?php echo $url;?>">aaa </a>
//方法二base64_encode
<?
$test="四川省";
$test1=base64_encode($test);
echo &#39;<a href="www.jb51.net?region=$test1">aaa </a>&#39;;
?>

더 많은 관련 지식을 보려면

PHP 중국어 웹사이트

를 방문하세요!

위 내용은 PHP URL 중국어 왜곡 문자에 대한 솔루션 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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