【发布时间】:2018-05-21 21:06:24
【问题描述】:
我在电子框架中从 ipcRenderer 发送到 ipcMain 的字符串存在一些编码问题。
渲染进程:
let test: String = "abc€123";
console.log(test); // prints "abc€123"
electron.ipcRenderer.send('testMessage', test);
主要流程:
ipcMain.on('testMessage', (event, arg) => {
console.log(arg); // prints "abcÔé¼123"
});
为什么主进程将字符串打印为“abcÔé¼123”? 该值被保存到数据库中并被保存为垃圾而不是实际的€符号。
编辑:主进程中的console.log("€") 也在控制台中显示'Ôé¼'
【问题讨论】:
-
那么问题可能是您使用数据库的方式而不是您发布的代码。确保您的文件是 UTF-8。
-
你对我的文件,源代码 .js 文件到底是什么意思?
-
是的。我不确定您的应用会发生什么,但请确保 html 也是 utf8 并且具有正确的字符集。
-
我的 html 字符集设置为 utf-8。此外,如果我将该字符串手动放入数据库,它会在之后正确存储和加载。编写 sql 语句的文件也是 utf8 编码的。还有什么想法吗?
标签: angular character-encoding electron ipc