在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];
这项任务并没有让苏黎世成为争论的焦点,而是ZuÌrich。知道如何正确传递特殊字符的字符串吗?我尝试过UTF8String但没有成功。感谢。
答案 0 :(得分:0)
exiftool中的-L参数强制拉丁字符集。删除它使它正常工作。