From 52c071008bab2661edd6bafb6b55412bc6ac84b5 Mon Sep 17 00:00:00 2001 From: Bibiko Date: Fri, 10 Sep 2010 07:10:11 +0000 Subject: =?UTF-8?q?=E2=80=A2=20fixed=20=5FsupportsEncoding=20setting=20to?= =?UTF-8?q?=20dis/enable=20safely=20Database=20>=20View=20Using=20Encoding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/SPDatabaseDocument.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Source/SPDatabaseDocument.m') diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m index 47f915c3..648a7691 100644 --- a/Source/SPDatabaseDocument.m +++ b/Source/SPDatabaseDocument.m @@ -86,6 +86,7 @@ _isConnected = NO; _isWorkingLevel = 0; _isSavedInBundle = NO; + _supportsEncoding = NO; databaseListIsSelectable = YES; _queryMode = SPInterfaceQueryMode; chooseDatabaseButton = nil; @@ -777,6 +778,8 @@ break; } } + + (void*)[self databaseEncoding]; } - (MCPConnection *) getConnection { @@ -1697,6 +1700,8 @@ MCPResult *charSetResult; NSString *mysqlEncoding = nil; + _supportsEncoding = YES; + // MySQL >= 4.1 if ([mySQLConnection serverMajorVersion] > 4 || ([mySQLConnection serverMajorVersion] == 4 && [mySQLConnection serverMinorVersion] >= 1)) @@ -1704,7 +1709,6 @@ charSetResult = [mySQLConnection queryString:@"SHOW VARIABLES LIKE 'character_set_database'"]; [charSetResult setReturnDataAsStrings:YES]; mysqlEncoding = [[charSetResult fetchRowAsDictionary] objectForKey:@"Value"]; - _supportsEncoding = (mysqlEncoding != nil); // mysql 4.0 or older -> only default character set possible, cannot choose others using "set names xy" } else { @@ -1715,6 +1719,7 @@ if ( !mysqlEncoding ) { NSLog(@"Error: no character encoding found, mysql version is %@", [self mySQLVersion]); mysqlEncoding = @"latin1"; + _supportsEncoding = NO; } return mysqlEncoding; -- cgit v1.2.3