我得到了一个直接连接到mysql数据库v8.18、字符集utf8mb4和排序utf8mb4_unicode_ci的节点应用程序。
我尝试在一些列中保存一些特殊字符,如ä、ü或ö,但在数据库中,这些值被更改为例如“?”或“??”,这也会导致它们不能再根据原始输入进行搜索。
我的连接是通过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运行查询。
现在的问题是,我做错了什么,需要改变什么才能起作用。毕竟,我主要是创建一个保存德语和英语数据的数据库。
另外:通过UI (例如db forge Studio)在db中保存特殊字符会导致以下错误:字符串值不正确:'\xD6sterr...‘对于第1行的列'Name_de‘
非常感谢您的投入:)
发布于 2020-01-05 01:00:15
https://stackoverflow.com/questions/59590966
复制相似问题