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