Understanding Encoding

From: Beena Emerson <memissemerson(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org, pgsql-novice(at)postgresql(dot)org
Subject: Understanding Encoding
Date: 2013-09-06 05:56:52
Message-ID: CAOG9ApGQ3s5g3Okm3xAmsUWXnUiD8gt+-5taz=YKdJGPm4TFsg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice pgsql-sql

Hello All,

I am not able to understand how the encoding is handled. I would be happy
if someone can tell what is happening in the following scenario:

1. I have created a database with EUC_KR encoding and created a table and
inserted some korean value into it.

=# CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr'
LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;

=# \c korean

korean=# SHOW client_encoding;
client_encoding
-----------------
UTF8
(1 row)

korean=# CREATE TABLE tbl (doc text);

korean=# INSERT INTO tbl VALUES ('그레스');

2. If I insert non-korean values it throws error:

korean=# INSERT INTO tbl VALUES ('データベース');
ERROR: character with byte sequence 0xe3 0x83 0xbc in encoding "UTF8" has
no equivalent in encoding "EUC_KR"

korean=# SELECT * FROM tbl;
doc
--------
그레스
(1 row)

3. I change the client encoding to EUC_KR and try inserting the same korean
characters and it throws an error:

korean=# SET client_encoding = 'EUC_KR';
SET
korean=# INSERT INTO tbl VALUES ('그레스');
ERROR: invalid byte sequence for encoding "EUC_KR": 0xa0 0x88

Even the SELECT statement displays something different. I am not able to
understand why?

korean=# SELECT * FROM tbl;
doc
--------
�׷���
(1 row)

Can someone please help me.

Thanks you,

Beena Emerson

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Gopal Tandon 2013-09-06 06:01:47 Re: Understanding Encoding
Previous Message Jayadevan M 2013-09-06 04:09:17 Re: Front End Examples

Browse pgsql-sql by date

  From Date Subject
Next Message Gopal Tandon 2013-09-06 06:01:47 Re: Understanding Encoding
Previous Message Sandy 2013-09-05 07:42:32 Don't miss this