Re: [SQL] Understanding Encoding - Mailing list pgsql-novice

From Gopal Tandon
Subject Re: [SQL] Understanding Encoding
Date
Msg-id CANKwf-1UJCW+4VhaPjOh-zJEtP6WfUXCDQTU82ASdreKM2j2EA@mail.gmail.com
Whole thread Raw
In response to Understanding Encoding  (Beena Emerson <memissemerson@gmail.com>)
List pgsql-novice


On Fri, Sep 6, 2013 at 11:26 AM, Beena Emerson <memissemerson@gmail.com> wrote:
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



pgsql-novice by date:

Previous
From: Beena Emerson
Date:
Subject: Re: [SQL] Understanding Encoding
Next
From: Tatsuo Ishii
Date:
Subject: Re: [SQL] Understanding Encoding