The issue was in PGSQLKit.
-(NSString *)sqlEncodeString:(NSString *)toEncode
{
//size_t result;
int error;
char *sqlEncodeCharArray = malloc(1 + ([toEncode length] * 2)); // per
the libpq doc.
const char *sqlCharArrayToEncode = [toEncode
cStringUsingEncoding:defaultEncoding];
size_t length = strlen(sqlCharArrayToEncode);
PQescapeStringConn ((PGconn *)pgconn, sqlEncodeCharArray,
(const char *)[toEncode
cStringUsingEncoding:defaultEncoding],
length, &error);
//This is bad
// NSString *encodedString = [[[NSString alloc]
initWithFormat:@"%s",sqlEncodeCharArray] //autorelease];
//Instead use
NSString *encodedString = [NSString
stringWithCString:sqlEncodeCharArray encoding:defaultEncoding];
free(sqlEncodeCharArray);
return encodedString;
}
Am 22.03.2012 um 09:09 schrieb Alexander Reichstadt:
> Hi,
>
>
> for a couple of reasons we migrated our project from mysql to postgres using
> PGSQLKit.
>
> But we are experiencing problems storing UTF8 data. So far we checked the
> database to be able to store UTF8. When using pgPHPAdmin to store values with
> German Umlaute it works. When using PGSQLKit chars get garbled.
>
> The following code stores the values:
>
>
> const char *cString = [sql cStringUsingEncoding:NSUTF8StringEncoding];
> if (cString == NULL)
> {
> self.errorDescription = [NSString stringWithFormat:@"ERROR:
> execCommand could not be losslessly converted to c string: %@", sql];
> [self appendSQLLog:[NSString stringWithFormat:@"%@\n",
> self.errorDescription]];
> return NO;
> }
> res = PQexec(pgconn, cString);
>
> Both sides seem correct, server as well as client, so I am not sure what the
> issue might be.
>
> Any ideas?
>
> Thanks
> Alex
> _______________________________________________
>
> Cocoa-dev mailing list ([email protected])
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/lxr%40mac.com
>
> This email sent to [email protected]
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]