> 백엔드 개발 > PHP 문제 > PHP 실행 결과가 왜곡되면 어떻게 해야 할까요?

PHP 실행 결과가 왜곡되면 어떻게 해야 할까요?

藏色散人
풀어 주다: 2023-03-17 08:00:02
원래의
1394명이 탐색했습니다.

잘못된 PHP 실행 결과에 대한 해결 방법: 1. 해당 PHP 코드 파일을 엽니다. 2. exec에서 코드를 확인합니다. 3. 내용을 "exec("python cmd.py",$str); foreach($str)로 수정합니다. $res){$str = iconv("GBK", "UTF-8", $res);}echo $str;"로 표시됩니다.

PHP 실행 결과가 왜곡되면 어떻게 해야 할까요?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

php 실행 결과가 깨졌을 경우 어떻게 해야 하나요?

php는 exec 또는 shell_exec가 중국어 왜곡 문자를 반환할 수 없는 문제를 채웁니다.

원래 실행하려고 했던 항목:

exec("python cmd.py",$str);
var_dump($str);
로그인 후 복사

cmd.py 파일 출력에 중국어가 포함되어 있으며 결과는 아래 그림과 같습니다.

PHP 실행 결과가 왜곡되면 어떻게 해야 할까요?

바이두와 csdn 검색의 많은 블로거들은 미리 결정된 인코딩을 설정하면 문제가 해결될 수 있다고 말했습니다. 예를 들어 명령을 실행하기 전에 인코딩을 추가한 다음 실행해 보세요.

$locale='en_US.UTF-8';
setlocale(LC_ALL,$locale);
putenv('LC_ALL='.$locale);
exec("python cmd.py",$str);
var_dump($str);
로그인 후 복사

시도해본 결과 여전히 문제가 있는 것으로 나타났습니다. 존재하며 아무런 효과가 없습니다. . 구글에서 오랜 검색 끝에 마침내 해결책을 찾았기 때문에 감히 놔둘 수가 없어서 공유하려고 게시하게 되었습니다. . 말도 안 돼요, 그냥 바로 가세요. . .

exec:

exec("python cmd.py",$str);
foreach($str as $res)
{
    $str = iconv("GBK", "UTF-8", $res);
}
echo $str;
로그인 후 복사

shell_exec:

$res = shell_exec("python cmd.py");
echo iconv("GBK", "UTF-8", $res);
로그인 후 복사

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 실행 결과가 왜곡되면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿