From 391c6e75bb69b9fbd58150cefa71d356b9cf8f95 Mon Sep 17 00:00:00 2001 From: Jakey Date: Wed, 10 Aug 2016 14:44:44 +0800 Subject: [PATCH] if filename contains chinese dir transform Encoding --- SSZipArchive/SSZipArchive.m | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SSZipArchive/SSZipArchive.m b/SSZipArchive/SSZipArchive.m index 98f89e9..d9c29b1 100755 --- a/SSZipArchive/SSZipArchive.m +++ b/SSZipArchive/SSZipArchive.m @@ -252,7 +252,15 @@ } // Check if it contains directory - NSString *strPath = @(filename); + // NSString * strPath = @(filename); + NSString * strPath = [NSString stringWithCString:filename encoding:NSUTF8StringEncoding]; + //if filename contains chinese dir transform Encoding + if (!strPath) { + NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); + strPath = [NSString stringWithCString:filename encoding:enc]; + } + //end by skyfox + BOOL isDirectory = NO; if (filename[fileInfo.size_filename-1] == '/' || filename[fileInfo.size_filename-1] == '\\') { isDirectory = YES;