я монтирую путь SMB, используя этот код
urlStringOfVolumeToMount = [urlStringOfVolumeToMount stringByAddingPercentEscapesUsingEncoding:NSMacOSRomanStringEncoding];
NSURL *urlOfVolumeToMount = [NSURL URLWithString:urlStringOfVolumeToMount];
FSVolumeRefNum returnRefNum;
FSMountServerVolumeSync( (CFURLRef)urlOfVolumeToMount, NULL, NULL, NULL, &returnRefNum, 0L);
Затем я получаю содержимое некоторых путей:
NSMutableArray *content = (NSMutableArray *)[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];
Моя проблема заключается в каждом пути в содержимом"массив, содержащий специальные символы (например, ü), дает мне 2 закодированных символа: ü становится u¨
, когда я регистрирую байты, используя:
[contentItem dataUsingEncoding:NSUTF8StringEncoding];
, он дает мне: 75cc88, что является75) и ¨ (cc88)
Что я ожидал, так это символ ü, закодированный в utf-8.В байтах это должно быть c3bc
Я пытался преобразовать свой путь, используя кодировку ISOLatin1, MacOSRoman ... но до тех пор, пока путь к контенту уже имеет 2 отдельных символа вместо одного для ü, любое преобразование даетЯ закодировал 2 символа ...
Если кто-то может помочь, спасибо
Моя конфигурация: локализована на французском языке и использует снежного барса.