Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在变量中存储来自外语的字母?_Javascript_Node.js - Fatal编程技术网

Javascript 如何在变量中存储来自外语的字母?

Javascript 如何在变量中存储来自外语的字母?,javascript,node.js,Javascript,Node.js,我制作了一个应用程序,从TXT文件中读取一些单词并将它们放入数据库。问题是:当我从其他语言(有一些“非英语”字母)获得单词时,它看起来是这样的: 可以将这些字符存储在js变量中吗?不需要在控制台中显示它们,但它们必须在数据库中是正确的 编辑: 从文件或数据库加载代码编辑器并没有问题。这是node.js的一个问题。当我试图展示它时: console.log(“ąężźćó”) 这些字符也显示为“?”。cmd没有问题,因为我尝试将此字符串保存到数据库中,结果是相同的(我100%确定此数据库可以存储这

我制作了一个应用程序,从TXT文件中读取一些单词并将它们放入数据库。问题是:当我从其他语言(有一些“非英语”字母)获得单词时,它看起来是这样的: 可以将这些字符存储在js变量中吗?不需要在控制台中显示它们,但它们必须在数据库中是正确的

编辑:

从文件或数据库加载代码编辑器并没有问题。这是node.js的一个问题。当我试图展示它时:

console.log(“ąężźćó”)


这些字符也显示为“?”。cmd没有问题,因为我尝试将此字符串保存到数据库中,结果是相同的(我100%确定此数据库可以存储这些字符)。

Javascript在存储这些字符时应该没有问题

我在我的mac终端上试用过,效果很好,所以我认为它不是节点:

> console.log("ąężźćó");
ąężźćó
undefined
> 
但是,我看到您正在使用windows cmd shell。可能还有其他问题,但至少需要将windows cmd shell的代码页设置为utf-8

见:

从该职位:


拉丁-2字符?在utf-8中?看起来编码不好(显示的是一个字节,第二个字节在哪里?)这种混合不起作用


@Ludwik11您在mysql连接中使用哪些字符编码(jeśli spytaćwolno)

以UTF8格式保存和渲染我使用记事本++和升华,它们都接受unicode(默认为UTF8),我不必做任何事情。文本文件的格式(编码)是什么?您的数据库接受什么格式?节点脚本以什么格式处理它们?在某些地方一定有错误,请提供必要的详细信息以获得答案。确保文件在NodeJS中使用与保存时相同的编码打开
fs.readFile(filename,'utf8',callback)
例如,要加载文件,我使用“逐行”模块(因为这个文件非常大),但我将编码设置为utf-8but,如果js在存储这些字符时没有问题,为什么它会向数据库发送这些“错误的字符”(“?”而不是ę)。我的数据库是MySQL,我使用phpmyadmin来管理其中的数据。当我手动添加一些数据时,所有字符都是正确的,当我使用node.js时,它不起作用。您的问题和答案覆盖在控制台显示上。要回答与db接口的节点代码出现问题的原因,您需要将其作为一个问题进行提问并发布一些代码。
chcp 65001
Also, you need to use Lucida console fonts