我在电子框架内从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(“€”)也在控制台中显示'Ôé¼'
答案 0 :(得分:0)
问题实际上不是编码。原来是我用来将它保存到sql db中的数据类型。
我使用node-mssql并且必须将数据类型更改为NVarChar:
request.input('test', db.sql.NVarChar, "€");