问题描述
我在 Loopback 4 中创建了一个 API,它从 Postgresql 13 中的数据库中检索数据,这些数据使用 UTF8 编码。访问 API 资源管理器 (localhost:3000/explorer) 并执行 GET 请求,我意识到即使数据库字段包含字符,如带有重音和 ñ 的字母;检索到的 JSON 仅在字符必须出现的位置显示空格。例如,如果数据库中有一个字段包含像“piña”这样的词,则 JSON 将返回“pi a”。
当我尝试 POST 请求时,在数据库中插入一个像“ramírez”这样的字段(注意 í),该字段显示为“ramφrez”,当我执行该字段的 GET 时条目,JSON 现在具有正确的值,“ramírez”。
我该如何解决?
解决方法
我建议使用 Buffer 类:
var encodedString = Buffer.from('string','utf-8');
通过这种方式,您将能够返回任何您想要的东西。在 NodeJS 中已经包含了 Buffer 类,所以你不需要安装任何依赖项。
如果你没有得到你需要的东西,你可以改变'utf-8'部分。