Я получил искаженный персонаж с ibm_db@2.6.1 в проекте nodejs - PullRequest
0 голосов
/ 19 сентября 2019

Я работаю над проектом nodejs.В DB2 есть название компании «ABC AEROLÍNEAS SA DE CV».Используя ibm_db@2.6.1 для получения имени, оно превратилось в 'ABC AEROL�NEAS SA DE CV' в моем nodejs.

Я попытался проверить это с помощью python с ibm_db 3.0.1 и получил 'ABC AEROL \ xcdNEAS SA DE CV '.Я думаю, что '\ xcd' должно быть правильным, так как он отображает 'ABC AEROLÍNEAS SA DE CV' в консоли Python.Кроме того, я протестировал его в JDBC и получил правильное имя.

Я не знаю, почему ibm_db для nodejs не может получить правильное имя.Может ли кто-нибудь помочь проверить это?Спасибо.

DB DB

NodeJS NodeJS

Python Python

1 Ответ

0 голосов
/ 19 сентября 2019

Шестнадцатеричное значение \xCD является (расширенным) значением ASCII.В UTF-8 вам понадобится \xC3\x8D.В UTF-16 вам потребуется \x00\xCD.

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

. Обратите внимание, что некоторые собственные программы Windows отображают недопустимые байты UTF-8 в качестве допустимых символов, если строго они должны отображаться или аналогичный.

Если вы используете редактор SQL на основе JDBC, вы увидите � (или нулевое значение) в вашей строке

...