Search Postgresql Archives

Re: Cannot store special chars using c lib

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks, Albe, I had checked this, too, and it was ok. I already posted the solution to the board. It was an error due to an incorrect conversion between an object-instance and a char. It works now.

Am 22.03.2012 um 12:50 schrieb Albe Laurenz:

> Alexander Reichstadt wrote:
>> I need to be able to store special chars, German Umlaute, in my tables. This works when using
>> pgPHPAdmin to store the same value to the same field. But when using the c-library it doesn't, fields
>> stored are garbled.
>> 
>> I checked using \l to see what encoding the database is which is UTF8, UTF8 is what's required.
>> 
>>                              List of databases
>>   Name    |  Owner   | Encoding | Collation | Ctype |   Access privileges
>> -----------+----------+----------+-----------+-------+-----------------------
>> MyDB   | postgres | UTF8     | C         | C     |
>> alltypes  | postgres | UTF8     | de_DE     | C     |
>> postgres  | postgres | UTF8     | C         | C     |
>> template0 | postgres | UTF8     | C         | C     | =c/postgres          +
>>           |          |          |           |       | postgres=CTc/postgres
>> template1 | postgres | UTF8     | C         | C     | =c/postgres          +
>>           |          |          |           |       | postgres=CTc/postgres
>> 
>> 
>> As a way to store things I use PGSQLKit, which in turn uses
>> 
>> const char *cString = [sql cStringUsingEncoding:defaultEncoding];
>> if (cString == NULL)
>> 
>> res = PQexec(pgconn, cString);
>> 
>> to store things. The defaultEncoding I also changed explicitly from defaultEncoding to UTF8 to try,
>> but got the same result. As far as I can see this is not an error on part of the PGSQLKit.
>> 
>> 
>> From what I read there is no table specific encoding.
>> 
>> The collation is set to C, but that's something only relevant to sorting as far s I understand.
>> 
>> So, I am at a loss as to where things go wrong.
>> 
>> Any ideas?
> 
> I know nothing about PGSQLKit, but you should check what client_encoding is set to.
> If it is set to something else than UTF8, say for example LATIN1, then PostgreSQL
> will happily interpret the bytes in your UTF8 string as LATIN1 and convert them
> to UTF8, resulting in things like 'schöne ScheiÃ\u009Fe'.
> 
> Yours,
> Laurenz Albe
> 
> -- 
> Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux