node.js - Lorsque PHP utilise exec pour exécuter nodejs, les caractères chinois transmis dans JS sont tronqués
怪我咯
怪我咯 2017-06-30 09:53:51
0
1
975

Problèmes existants

  1. Dans le code PHP, utilisezexecpour exécuter la commande nodejs

  2. Les caractères chinois reçus par nodejs sont des caractères tronqués

  3. Toutes les opérations sont exécutées en mode CLI (c'est-à-dire exécutées sous la ligne de commande)

  4. Exécutéchcp 65001Page de codes du commutateur, et les fichiers PHP et NodeJS sont codés en UTF8 (pas d'en-tête de nomenclature)

  5. Exécutez la commande NodeJS directement depuis la ligne de commande et la valeur reçue est normale

  6. Lors de l'exécution de PHP en ligne de commande, les caractères chinois reçus par NodeJS sont tronqués

Environnement de développement

  1. Windows 10 (système d'exploitation 1703, version 15063.296)

  2. PHP 5.5.7 (cli)

  3. Zend Engine v2.5.0

  4. nœud v6.9.2

  5. Ligne de commande : cmd V10.0.15063

  6. Script de test 1 : test.php (script php)

  7. Script de test 2 : test.js (script nodejs)

  8. Autres facteurs pouvant affecter :

    • test.js utilise le packageyargspour recevoir les paramètres de ligne de commande

    • En raison denpm长期连不上,使用了淘宝源cnpm命令替换了npmcommande

Récurrence des erreurs

test.php

test.js

'use strict'; const yargs = require('yargs'); var argv = yargs .options({ 't': { alias: 'text', demandOption: true, default: '', describe: 'Source text.', type: 'string' } }) .argv; console.log(argv.t);

Processus de reproduction

  • Ouvrezcmd.exe, saisissezcmd.exe,输入chcp 65001,切换编码到UTF-8et changez l'encodage enUTF-8.


  • Courez en premiertest.js,传入参数-t "白毛浮绿水", normal

  • est en cours d'exécutiontest.php, affichant un code tronqué

  • S'il vous plaît, dites-moi ce qui a causé cette situation et comment y faire face. Merci

.
怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous (1)
迷茫

Windows cmd est par défaut l'encodage gbk, donc la transmission de utf8 sera tronquée

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!