我在nodejs项目中使用ibm_db@2.6.1出现乱码

时间:2019-09-19 03:05:07

标签: node.js character-encoding db2 loopback dashdb

我正在研究一个nodejs项目。 DB2中有公司名称“ ABCAEROLÍNEASSA DE CV”。在使用ibm_db@2.6.1获得名称时,它在我的nodejs中变成了“ ABC AEROL.NEAS SA DE CV”。

我尝试通过将Python与ibm_db 3.0.1一起使用来进行验证,并获得了“ ABC AEROL \ xcdNEAS SA DE CV”。我认为'\ xcd'应该是正确的,因为它在python控制台中显示'ABCAEROLÍNEASSA DE CV'。此外,我通过JDBC测试了它,并且也得到了正确的名称。

我不知道为什么nodejs的ibm_db无法获得正确的名称。有人可以帮忙检查一下吗?谢谢。

数据库 DB

NodeJS NodeJS

Python Python

1 个答案:

答案 0 :(得分:0)

十六进制值\xCD是(扩展的)ASCII值。在UTF-8中,您将需要\xC3\x8D。在UTF-16中,您需要\x00\xCD

https://en.wikipedia.org/wiki/%C3%8D#Character_mappings

请注意,某些Windows本机程序严格显示或类似字符时,会将无效的UTF-8字节显示为有效字符。

如果使用基于JDBC的SQL编辑器,则在字符串中会看到�(或空值)