Nodejs не распознает строку (ввод на японском) - PullRequest
1 голос
/ 21 апреля 2020

Я пытаюсь получить ввод на японском языке и передать значение в качестве параметра другой функции для извлечения данных из функции, но всякий раз, когда я запускаю приложение узла. js он не распознает ввод. Но в браузере он работает просто отлично.

Так что он получает доступ к данным из json const innerArray = { Name : 'Test', Prefecture: '東京都' }

При обращении к нему:

let prefectureName = innerArray.Prefecture
console.log(prefectureName)

Вывод ???

Когда я использую ввод в engli sh, он также работает. Затем я также попытался преобразовать японский ввод в engli sh. затем опять та же проблема остается, поскольку он не может прочитать входные данные. Кто-нибудь может мне помочь в этом вопросе?

1 Ответ

1 голос
/ 21 апреля 2020

Я подозреваю, что это только проблема в вашей консоли журнала. Node.js использует UTF-16 для внутреннего использования, поэтому полностью поддерживаются японские символы.

Я бы предложил попробовать следующее:

const fs = require("fs");
const innerArray = { Name : 'Test', Prefecture: '東京都' }
fs.writeFileSync("test.json", JSON.stringify(innerArray), "utf8");
console.log("innerArray:", innerArray);

Затем откройте тест. json в чем-то вроде Notepad ++ , вы должны увидеть символы, отрисованные правильно.

Если я попробую этот пример в Код Visual Studio , вывод тоже будет в порядке, так как консольный или выходной шрифт поддерживает японские символы.

...