2016-05-13 11 views
0

Ich habe eine JSON-Datei, in der ich einige chinesische Texte gespeichert habe. Wenn ich es in meinem pdfkit Projekt drucke, ist dies das Ergebnis = enter image description here der blaue thext ist innerhalb des Codes schreiben und funktioniert. die rote ist durch eine JSON-Datei bekommen und funktioniert nicht (wenn ich die JSON-Datei in normale Zeichen ändert funktioniert)node.js bekommen chinesische Zeichen aus JSON-Datei

+0

heeeelppppp :( –

+0

Vermissen Sie die Codierung? Some.toString ('utf8')? Oder utf16. Nicht sicher. Überprüfen Sie auch, dass Ihre Eingabe utf-kompatibel sind. BIG * Zeichencodierung ist nicht gut! –

Antwort

0

Hallo Ich habe das gleiche Problem, wenn Sie benötigen, um die JSON-Datei zu lesen, änderte ich, um fs zu verwenden .readFile und funktioniert für mich, überprüfen Sie den Code:

fs.readFile('./app/config/language-base.json', 'utf8', function (err, data) { 
     //var lang = JSON.parse(data.toString('utf8').replace(/^\uFEFF/, '')); 
     var lang = JSON.parse(data); 

     lang.languages.forEach(function(ln, i){ 
      var source = {}; 
      Object.keys(lang.source).forEach(function(word, i){ 
       gutil.log('Generating word ', gutil.colors.magenta(word), "for language ", gutil.colors.red(ln)); 
       source[word] = lang.source[word][ln]; 
       gutil.log('Current word ', gutil.colors.blue(source[word])); 
      }); 

      var source = JSON.stringify(source); 
      var path = './app/locales/'+ln+".json"; 
      fs.writeFileSync(path, source, 'utf8'); 

     }); 

    }); 

Hoffe, dass diese Ihnen helfen !!