что это за кодировка в базе данных postgres и как я могу ее декодировать - PullRequest
1 голос
/ 18 мая 2019

У меня есть устаревшая база данных postgres 8.4, из которой я извлекаю внешние адреса.Кодировка в базе данных - UTF-8, и большинство специальных символов выглядят нормально как обычные читаемые символы, например: Á, É, Í, Ó, Ü

Однако существуют тысячи записей, которые используют некоторую другую кодировку для этих символов, все ониначните с непечатаемого символа STX и затем последовательности: 6#x, за которой следуют 1 или 2 шестнадцатеричных символа.

Например: CUAUHT6#xc9;MOC, который должен быть: CUAUHTÉMOC

Я пытался использовать онлайновые "декодеры", чтобы идентифицировать этот бред, но безуспешно.Тем не менее, я смог определить следующее на основе названий городов и ссылок на почтовые индексы:

existing          should be
--------          ---------
6#xc1;            Á
6#xc9;            É
6#xcd;            Í
6#xd3;            Ó
6#xdc;            Ü
6#xd;             " " (space)

Данные, похоже, хранятся в базе данных следующим образом.Хотя по общему признанию, я новичок в postgres, поэтому мог упустить что-то довольно очевидное.

Если не найти и заменить все экземпляры, это идентифицируемая кодировка со стандартной функцией decode?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...