В Cocoa я хотел бы передать строку, содержащую специальные символы, в NSTask в качестве аргументов, однако задача не получает правильную строку.
NSString *city=@"Zürich"; // This is the string with a special character
[arguments addObject:[NSString stringWithFormat:@"-iptc:city=%@",city]];
NSTask *task=[NSTask new];
[task setLaunchPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"exiftool"]];
[arguments addObjectsFromArray:[NSArray arrayWithObjects:@"-L",@"-overwrite_original_in_place",@"filename", nil]];
[task setArguments:arguments];
[task setStandardOutput:[NSPipe pipe]];
[task launch];
Задача получает в качестве аргумента не Цюрих, а Цюрих. Любая идея, как правильно передавать строки со специальными символами? Я пробовал UTF8String, но безуспешно. Спасибо.
/bin/echo
, и он правильно воспроизводит строку Zürich. (имеется в виду, что я использовал[task setLaunchPath:@"/bin/echo"]
) - person Mike Mertsock   schedule 23.05.2014