Как получить кодовую точку и кодировку utf8 для любого символа в PostgeSQL - PullRequest
1 голос
/ 20 июня 2019

Существуют ли какие-либо функции PostgreSQL, кроме ascii(), для отображения кодовых точек и кодировок utf8 для символов?

ascii() (как следует из названия?) Ограничено, как показано в следующем примере:

символ ą , a с диакритическим символом actually, на самом деле представляет собой комбинацию двух символов, отображаемых как один:

  • a \ x61 \ (= 97 в десятичном виде)

  • так называемый комбинирующий символ, отдельный огонек: ̨ \ xCC \ xA8

ascii() не подходит для данного типа символа (комбинации):

select ascii('ą');
ascii 
-------
97

97 - это кодовая точка символа a , поэтому полная кодовая точка ą не отображается.

Как получить кодовую точку и кодировку utf8 для любого символа в PostgreSQL, т. Е. Также для комбинированных символов?

1 Ответ

1 голос
/ 21 июня 2019

Проблема в том, что это не отдельный символ, а комбинация из двух символов, a и символа комбинирования & rdquo ;. Хотя они отображаются как один символ, это не так.

Если бы вы использовали один символ ą (кодовая точка UNICODE 261), у вас не было бы этой проблемы.

Вам понадобится программное обеспечение, которое переводит комбинации символов в отдельные символы (где это возможно), но PostgreSQL, насколько я знаю, не имеет такой функции.

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