Sorry, there is a copy-paste error, actually the code really is:
> const char *cString = [sql cStringUsingEncoding:defaultEncoding];
>       if (cString == NULL) {
blablabla
//This just catches cases where cString failed to encode.
}
>       res = PQexec(pgconn, cString);


Am 22.03.2012 um 09:02 schrieb Alexander Reichstadt:

> Hi,
> 
> 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?
> 
> Thanks

Reply via email to