Hi, Francesco,
As I mentioned that you said "If I insert the data using a C++ program I
have empty squares", I guess you forget to convert you string to UTF-8
before insert.

Bambo


On Fri, Aug 16, 2013 at 7:25 PM, ciifrance...@tiscali.it <
ciifrance...@tiscali.it> wrote:

> Hello all,
> before writing this message, I wrote about this in other mailing lists
> without solving my problem.
> Maybe some of you can help me.
>
> I have problems with a DB in postgres, when i try to insert Chinese
> strings in UTF-8 format.
> If I insert the data using a C++ program I have empty squares, in this
> format: ��� (3 empty squares for each chinese ideogram as that is the
> length in UTF-8)
> If the string contains chinese mixed with ASCII, the ASCII is OK but the
> Chinese is broken:
> 漢語1-3漢語  --> ������1-3������
>
> All the data is read from a binary file. It seems it's read correctly, but
> something happens when the query is executed.
> (If the text is in a different language that uses only 2 bytes for each
> letter, I will see only 2 empty squares per character, ex. hebrew, but this
> is not good anyway...)
>
> Strange things:
> 1. if i insert the record doing a query from command line (putty), the
> chinese text is OK. This problem is only when i insert by the C++ program.
> 2. I checked the C++ functions involved by creating unitary tests; if i
> run some other tests (on another virtual machine) the text is not damaged.
> These strange things are confusing me, but maybe they will be useful
> informations for somebody who had the same problem.
>
> The DB is set for UTF-8
>      Name     | Owner | Encoding |   Collate   |    Ctype    | Access
> privileges
>
> --------------+-------+----------+-------------+-------------+------------------
> postgres     | pgsql | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
> MyDB         | pgsql | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
> template0    | pgsql | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
> template1    | pgsql | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
>
> Previously I also tried with:
>
>      Name     | Owner | Encoding |   Collate   |    Ctype    | Access
> privileges
>
> --------------+-------+----------+-------------+-------------+------------------
> postgres     | pgsql | UTF8     | C           | C           |
> MyDB         | pgsql | UTF8     | C           | C           |
> ...
>
> But the problem was the same.
> I know that you would like to see the code, but it's too long (anyway if
> you want i can try to write some lines of code, like connection to Db and
> so on). I don't know if there is some log create by postgres when inserting
> damaged data, sould be useful.
>
> For now, in order to save your time my question is: did anybody of you
> have the same problem?
> (and how did you solve it?)
>
> Thanks,
> Francesco
>
> Invita i tuoi amici e Tiscali ti premia! Il consiglio di un amico vale più
> di uno spot in TV. Per ogni nuovo abbonato 30 € di premio per te e per lui!
> Un amico al mese e parli e navighi sempre gratis:
> http://freelosophy.tiscali.it/
>
>

Reply via email to