Re: can postgresql supported utf8mb4 character sets?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: lsliang <lsliang(at)pconline(dot)com(dot)cn>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: can postgresql supported utf8mb4 character sets?
Date: 2015-03-06 14:55:20
Message-ID: 54F9BFD8.7080907@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 03/05/2015 06:55 PM, lsliang wrote:
> 2015-03-06
> *
> *
> ------------------------------------------------------------------------
> *发件人:*Adrian Klaver
> *发送时间:*2015-03-05 21:31:39
> *收件人:*lsliang; pgsql-general
> *抄送:*
> *主题:*Re: [GENERAL] can postgresql supported utf8mb4 character sets?
> On 03/05/2015 01:45 AM, lsliang wrote:
> > can postgresql supported utf8mb4 character set?
> > today mobile apps support 4-byte character and utf8 can only
> > support 1-3 bytes character
> The docs would seem to indicate otherwise:
> http://www.postgresql.org/docs/9.3/interactive/multibyte.html
> http://en.wikipedia.org/wiki/UTF-8
> > if load string to database which contain a 4-byte character
> > will failed .
> Have you actually tried to load strings in to Postgres?
> If so and it failed what was the method you used and what was the error?
> > mysql since 5.5.3 support utf8mb4 character sets
> > I don't find some information about postgresql
> > thanks
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> thanks for your help .
> postgresql can support 4-byte character
> test=> select * from utf8mb4_test ;
> ERROR: character with byte sequence 0xf0 0x9f 0x98 0x84 in encoding "UTF8" has no equivalent in encoding "GB18030"
> test=> \encoding utf8
> test=> select * from utf8mb4_test ;
> content
> ---------
> 😄
> 😄
> pcauto=>

FYI, you can force the client encoding:

http://www.postgresql.org/docs/9.4/interactive/app-psql.html

"If both standard input and standard output are a terminal, then psql
sets the client encoding to "auto", which will detect the appropriate
client encoding from the locale settings (LC_CTYPE environment variable
on Unix systems). If this doesn't work out as expected, the client
encoding can be overridden using the environment variable PGCLIENTENCODING."

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Oleg Bartunov 2015-03-06 16:06:26 Re: Find similar records (compare tsvectors)
Previous Message Alvaro Herrera 2015-03-06 14:48:57 Re: VACUUM FULL doesn't reduce table size