2

我正在使用https://github.com/brianc/node-postgres pg模块。显然我不能使用 Unicode 密码连接到数据库。psql从具有连接参数的同一位置可以正常工作。使用 Node.js,它给出了 ne password authentication failed for user。当我检查时,console.log()我确切地看到了我的期望。如果我在数据库和连接字符串中都将密码更改为 ASCII,一切正常。但我需要使用旧的 Unicode 密码......

我尝试了两个https://github.com/brianc/node-postgres/wiki/Client

new pg.Client({...password: Código

conString = "postgres://...Código@"

我知道 ODBC ( Driver={PostgreSQL UNICODE};) 和 JDBC ( ;Unicode=true) 在连接字符串中都支持 UTF。我在 Node.jspg模块 UTF 支持上一无所获。

请帮忙。

我看到了http://www.connectionstrings.com/postgresql/并阅读了https://github.com/brianc/node-postgres上的文档。请帮忙解答这个问题。

谢谢!

4

1 回答 1

2

在 : 中发现了一个错误/lib/client.jscrypto.createHash('md5').update('утфUTF').digest('hex')给出:

a77b17c858d93bf7455211a629df45f8

而正确的 md5 将是:

a=#select md5('утфutf');
               md5
----------------------------------
 6dbfa2a80226f7629e537268b0650898
(1 row)

所以crypto.createHash('md5').update('утфutf', 'utf-8').digest('hex')

6dbfa2a80226f7629e537268b0650898

跟随那个

加密模块使用的默认编码通常是来自另一个答案的“二进制”

修复了我的 utf 密码问题。所以我创建了 PR——也许很快它就不再是问题了。

https://github.com/brianc/node-postgres/pull/1178

于 2016-12-06T22:16:20.767 回答