Re: UTF16 surrogate pairs in UTF8 encoding

Поиск
Список
Период
Сортировка
От Marko Kreen
Тема Re: UTF16 surrogate pairs in UTF8 encoding
Дата
Msg-id AANLkTikq7Pm2oUuNnTE=c3sxe=y2S500WwkC1h-mB81d@mail.gmail.com
обсуждение исходный текст
Ответ на Re: UTF16 surrogate pairs in UTF8 encoding  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: UTF16 surrogate pairs in UTF8 encoding  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
On 9/8/10, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marko Kreen <markokr@gmail.com> writes:
>  > Although it does seem unnecessary.
>
>
> The reason I asked for this to be spelled out is that ordinarily,
>  a backslash escape \nnn is a very low-level thing that will insert
>  exactly what you say.  To me it's quite unexpected that the system
>  would editorialize on that to the extent of replacing two UTF16
>  surrogate characters by a single code point.  That's necessary for
>  correctness because our underlying storage is UTF8, but it's not
>  obvious that it will happen.  (As a counterexample, if our underlying
>  storage were UTF16, then very different things would need to happen
>  for the exact same SQL input.)
>
>  I think a lot of people will have this same question when reading
>  this para, which is why I asked for an explanation there.

Ok, but I still don't like the "when"s.  How about:

-    6-digit form technically makes this unnecessary.  (When surrogate
-    pairs are used when the server encoding is <literal>UTF8</>, they
-    are first combined into a single code point that is then encoded
-    in UTF-8.)
+    6-digit form technically makes this unnecessary.  (Surrogate
+    pairs are not stored directly, but combined into a single
+    code point that is then encoded in UTF-8.)

-- 
marko


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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Synchronization levels in SR
Следующее
От: Hans-Jürgen Schönig
Дата:
Сообщение: Re: plan time of MASSIVE partitioning ...