使用node.js的utf8 console.log输出

使用node.js的utf8 console.log输出,node.js,utf-8,cmd,Node.js,Utf 8,Cmd,我有一个mysql数据库的utf8信息。 我想使用console.log将其输出到控制台 但它显示的是“框”字符,而不是utf8数据 我在哪里丢失数据?我该怎么做才能解决这个问题? 从数据库读取数据时是否存在问题?(使用felixge-node-mysql-v0.9.5-1) 还是在输出到控制台的过程中?(使用console.log) ot可能是控制台本身(windows命令窗口设置为字体“Lucida console”) 谢谢 更新: 我现在认为windows命令窗口的字体有问题。 当我使用p

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

但它显示的是“框”字符,而不是utf8数据

我在哪里丢失数据?我该怎么做才能解决这个问题? 从数据库读取数据时是否存在问题?(使用felixge-node-mysql-v0.9.5-1) 还是在输出到控制台的过程中?(使用console.log) ot可能是控制台本身(windows命令窗口设置为字体“Lucida console”)

谢谢

更新: 我现在认为windows命令窗口的字体有问题。 当我使用powershell窗口运行相同的节点脚本时 我确实看到了不同的角色,它们看起来和我期望的不一样。
不管是谁,当我尝试粘贴到这个浏览器窗口时,他们突然变为正确的字体和字符。

尽管我仍然喜欢更好的解决方案,但我现在找到了以下适合我的解决方案:

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

从WPSISE的最低窗格中运行No.EXE My.js导致中间窗格中想要的打印输出。

另一点要提到的是,如果我试图打开一个cmd.exe窗口并在其中运行
chcp 65001
,然后执行我的脚本,我会得到
node.js:284抛出新错误('process.stdout无法关闭')

听起来像是您的终端使用的字体不包含您正在打印的字符的字形,或者它们被设置为UTF8以外的编码。在我的例子中,小空格(\u200B)实际上是作为Γò¼输出的├┤Γö£├ºΓö£┬╗ (同时在控制台和文件重定向上)解决方案不起作用。你遇到过这样的情况吗?