PHP 코드에서 exec
를 사용하여 nodejs 명령을 실행하세요
nodejs가 수신한 한자는 왜곡된 문자입니다
모든 작업은 CLI 모드에서 실행됩니다(즉, 명령줄에서 실행)
실행됨chcp 65001
스위치 코드 페이지, PHP 및 NodeJS 파일은 UTF8로 인코딩됩니다(BOM 헤더 없음)
명령줄에서 직접 NodeJS 명령을 실행하면 수신된 값이 정상입니다
명령줄에서 PHP를 실행할 때 NodeJS에서 수신한 중국어 문자가 깨집니다
Windows 10(1703 OS 빌드 15063.296)
PHP 5.5.7(cli)
Zend 엔진 v2.5.0
노드 v6.9.2
명령줄: cmd V10.0.15063
테스트 스크립트 1: test.php (php 스크립트)
테스트 스크립트 2: test.js(nodejs 스크립트)
영향을 미칠 수 있는 기타 요소:
test.js는 yargs
패키지를 사용하여 명령줄 매개변수를 받습니다
npm
长期连不上,使用了淘宝源cnpm
命令替换了npm
주문
cmd.exe
를 열고 cmd.exe
,输入chcp 65001
,切换编码到UTF-8
를 입력한 다음 인코딩을 UTF-8
로 전환하세요.
먼저 달려test.js
,传入参数-t "白毛浮绿水"
, 보통
실행 중test.php
, 잘못된 코드를 출력
이 상황의 원인과 해결 방법을 알려주세요. 감사합니다
Windows cmd는 기본적으로 gbk 인코딩을 사용하므로 utf8 전송이 깨집니다