使用node.js输出utf8 console.log

时间:2012-06-04 09:00:30

标签: node.js utf-8 cmd

我有一个mysql数据库的utf8信息。 我想使用console.log将其输出到控制台。

但它显示“box”字符而不是utf8数据。

我在哪里丢失数据?我该怎么做才能解决这个问题? 从DB读取数据时出现问题? (使用felixge-node-mysql-v0.9.5-1) 或在输出到控制台期间? (使用console.log) 也许它的控制台本身(Windows命令窗口设置为字体“Lucida控制台”)

感谢。

更新: 我现在相信它是windows命令窗口的字体问题。 当我使用PowerShell窗口运行相同的节点脚本时 我确实看到不同的字符看起来不像我期望的那样。 无论如何,当我尝试将其粘贴到此浏览器窗口时,它们会突然变为正确的字体和字符。

1 个答案:

答案 0 :(得分:-1)

虽然我仍然喜欢更好的解决方案,但我现在发现的是以下解决方案对我有用:

我将使用Windows PowerShell ISE 在里面我运行了以下命令:
chcp 65001

从WPSISE中的最低窗格运行node.exe my.js会在中间窗格中生成我想要的确切打印输出。

另一点需要提及的是,如果我尝试打开cmd.exe窗口并在其中运行chcp 65001然后执行我的脚本,我会得到 node.js:284 throw new Error('process.stdout cannot be closed');