Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 如何在MySql中保存和读取特殊字符?(Mysqljs&;Node)_Javascript_Mysql_Sql_Node.js - Fatal编程技术网

Javascript 如何在MySql中保存和读取特殊字符?(Mysqljs&;Node)

Javascript 如何在MySql中保存和读取特殊字符?(Mysqljs&;Node),javascript,mysql,sql,node.js,Javascript,Mysql,Sql,Node.js,我有一个直接连接到mysql数据库V8.18、字符集utf8mb4和排序规则utf8mb4\uUnicode\uCI的节点应用程序 我试图在某些列中保存像ä、ü或ö这样的特殊字符,但在数据库中,这些值被更改为例如“Ã-”或“è”,这也会导致它们无法再根据原始输入进行搜索 我的连接是通过npm包mysqljs设置的,如下所示: db = mysql.createConnection({ host: process.env.DB_HOST, user: process.env.DB_USE

我有一个直接连接到mysql数据库V8.18、字符集utf8mb4和排序规则utf8mb4\uUnicode\uCI的节点应用程序

我试图在某些列中保存像ä、ü或ö这样的特殊字符,但在数据库中,这些值被更改为例如“Ã-”或“è”,这也会导致它们无法再根据原始输入进行搜索

我的连接是通过npm包mysqljs设置的,如下所示:

db = mysql.createConnection({
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_DATABASE,
  port: process.env.DB_PORT,
  charset: "utf8mb4_unicode_ci"
})
根据文档通过db.query运行查询时

现在的问题是,我做错了什么,需要改变什么才能让它起作用。 毕竟,我主要是创建一个数据库来保存德语和英语数据

补充: 通过用户界面(如db forge Studio)在数据库中保存特殊字符会导致以下错误:第1行“Name_de”列的字符串值不正确:“\xD6sterr…”

非常感谢您的输入:)

签出此-->

问题是..中使用了utf字节样式


为我工作从utf8-->utf8mb4更改

您尝试过在连接设置中使用实际的db字符集吗?嗨,克里斯,对不起,我从我的一个测试中复制了代码。我通常保持字符集与db设置相同。我不确定
createConnection
的确切参数,但可能
utf8mb4\u unicode\u ci
不是一个有效的字符集,它是一个排序规则。请尝试使用
utf8mb4
…不幸的是,情况并非如此。它指的是根据文档进行的排序:(只是utf8mb4也不起作用。)不幸的是,这并不能解决我的问题。我已经在utf8mb4上设置了整个数据库和服务器(就像你链接的帖子一样)。但不幸的是,特殊字符仍然被替换。您是否可以发送部分代码以将其保存到数据库中。从db那里得到。