psql display of Unicode combining characters in 8.2

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема psql display of Unicode combining characters in 8.2
Дата
Msg-id 20061210055005.GA25816@winnie.fuhr.org
обсуждение исходный текст
Ответы Re: psql display of Unicode combining characters in 8.2  (Michael Fuhr <mike@fuhr.org>)
Re: psql display of Unicode combining characters in 8.2  (Martijn van Oosterhout <kleptog@svana.org>)
Список pgsql-hackers
psql's display of Unicode combining characters appears to have
changed in 8.2.  For example, I'd expect <U+006E LATIN SMALL LETTER N,
U+0303 COMBINING TILDE> to display the same as the precomposed
<U+00F1 LATIN SMALL LETTER N WITH TILDE>.  With 8.1's psql they do,
but with 8.2's psql this sequence displays as:

SELECT E'n\314\203';  -- \314\203 = UTF-8 encoding of U+0303?column? 
----------n\u0303
(1 row)

(I'm testing with both server and client using UTF-8.)

This excerpt from pg_wcsformat() in mbprint.c looks responsible:
   else if (w <= 0)        /* Non-ascii control char */   {       if (encoding == PG_UTF8)           sprintf((char *)
ptr,"\\u%04X", utf2ucs(pwcs));
 

This might be the relevant commit:

http://archives.postgresql.org/pgsql-committers/2006-02/msg00089.php

Should the code distinguish between combining characters and
zero-width control characters so the former display correctly?

-- 
Michael Fuhr


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: #define GEVHDRSZ ( offsetof(GistEntryVector, vector[0]) ) explanation please
Следующее
От: "Simon Riggs"
Дата:
Сообщение: Re: [PATCHES] Configuring BLCKSZ and XLOGSEGSZ (in 8.3)