Nodejs 无法识别字符串(日文输入)
Nodejs not recognizing string(Input in Japanese)
我正在尝试用日语输入并将值作为参数传递给另一个函数以从该函数检索数据但是每当我 运行 节点 app.js 它不识别输入。但在浏览器中它工作得很好。
因此它正在访问来自 json const innerArray = { Name : 'Test', Prefecture: '東京都' }
的数据
访问时:
let prefectureName = innerArray.Prefecture
console.log(prefectureName)
输出为???
当我使用英文输入时,它也有效。然后我也尝试将日语输入转换为英语。然后同样的问题仍然存在,因为它无法读取输入。
谁能帮我解决这个问题?
我怀疑这只是您的日志控制台的问题。 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);
然后在类似 Notepad++ 的东西中打开 test.json,您应该会看到正确呈现的字符。
如果我在 Visual Studio Code 中尝试这个示例,输出也很好,因为控制台或输出字体支持日文字符。
我正在尝试用日语输入并将值作为参数传递给另一个函数以从该函数检索数据但是每当我 运行 节点 app.js 它不识别输入。但在浏览器中它工作得很好。
因此它正在访问来自 json const innerArray = { Name : 'Test', Prefecture: '東京都' }
访问时:
let prefectureName = innerArray.Prefecture
console.log(prefectureName)
输出为???
当我使用英文输入时,它也有效。然后我也尝试将日语输入转换为英语。然后同样的问题仍然存在,因为它无法读取输入。 谁能帮我解决这个问题?
我怀疑这只是您的日志控制台的问题。 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);
然后在类似 Notepad++ 的东西中打开 test.json,您应该会看到正确呈现的字符。
如果我在 Visual Studio Code 中尝试这个示例,输出也很好,因为控制台或输出字体支持日文字符。