찾다

 >  Q&A  >  본문

node.js - PHP가 exec를 사용하여 nodejs를 실행할 때 JS에 전달된 중국어 문자가 깨집니다.

기존 문제

  1. PHP 코드에서 exec를 사용하여 nodejs 명령을 실행하세요

  2. nodejs가 수신한 한자는 왜곡된 문자입니다

  3. 모든 작업은 CLI 모드에서 실행됩니다(즉, 명령줄에서 실행)

  4. 실행됨chcp 65001스위치 코드 페이지, PHP 및 NodeJS 파일은 UTF8로 인코딩됩니다(BOM 헤더 없음)

  5. 명령줄에서 직접 NodeJS 명령을 실행하면 수신된 값이 정상입니다

  6. 명령줄에서 PHP를 실행할 때 NodeJS에서 수신한 중국어 문자가 깨집니다

개발 환경

  1. Windows 10(1703 OS 빌드 15063.296)

  2. PHP 5.5.7(cli)

  3. Zend 엔진 v2.5.0

  4. 노드 v6.9.2

  5. 명령줄: cmd V10.0.15063

  6. 테스트 스크립트 1: test.php (php 스크립트)

  7. 테스트 스크립트 2: test.js(nodejs 스크립트)

  8. 영향을 미칠 수 있는 기타 요소:

    • test.js는 yargs 패키지를 사용하여 명령줄 매개변수를 받습니다

    • npm长期连不上,使用了淘宝源cnpm命令替换了npm주문

    • 으로 인해

오류 재발

test.php

으아아아

test.js

으아아아

재생산 과정


怪我咯怪我咯2762일 전1099

모든 응답(1)나는 대답할 것이다

  • 迷茫

    迷茫2017-06-30 09:55:51

    Windows cmd는 기본적으로 gbk 인코딩을 사용하므로 utf8 전송이 깨집니다

    회신하다
    0
  • 취소회신하다