使用nodejs进行ISO-8859-15编码

时间:2016-05-02 15:01:11

标签: node.js postgresql encoding utf-8 iso-8859-15

我们遇到了一个非常恼人的编码问题,它以loopback开头,但似乎与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字符串才能使其工作吗?

0 个答案:

没有答案