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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.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.klaver@aklaver.com