2

我们遇到了一个非常烦人的编码问题,它从环回开始,但似乎与 nodejs 相关。基本上,我们刚刚完成了基于现有 SQL_ASCII 编码的 postgresql 数据库的 Loopback API 开发。由于 API 必须采用 UTF-8,我们尝试将通过 API 路由发送的数据转换为 ISO-8859-15,以便将它们正确插入到我们的基础中。无论我们尝试什么 iconv、utf8、iso-8859 等模块,我们都无法通过 ISO-8859-15 转换的字符串,我们最终得到了非常奇怪的东西。例如 :

var Iconv  = require('iconv').Iconv; 
var iconv = new Iconv('UTF-8','ISO-8859-1'); 
var label = iconv.convert("bébé").toString();

如果我们将“标签”插入到我们的数据库中,我们最终会得到类似的东西 = "b�b�"

所以我们只是尝试直接在终端中查看它在基本 nodejs 应用程序中的表现(没有环回或任何其他框架),但结果并没有变得更好。一旦终端编码设置为“ISO Latin 1”,以下代码:

console.log('bébé');

在终端中以这种方式显示:

bébé

好像 nodejs 完全无法处理 ISO-8859 字符串。我们在那里遗漏了什么吗?我们注定要使用 UTF-8 字符串来完成这项工作吗?

4

0 回答 0