我有一个可编辑的uitextview,其中用户以俄语或英语键入。然后,我将该文本另存为files目录中的.txt文件,并在以后阅读。
这是保存文本的部分
-(IBAction)saveText:(id)sender{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"testing.txt"];
[self.textBox.text writeToFile:path atomically:YES];
NSLog(path);
}
有一个单独的按钮可在弹出窗口中显示此文本:
-(IBAction)readText:(id)sender{
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"testing.txt"];
NSError *error = nil;
myText = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
NSLog(@"myText: %@", myText);
self.textBox.text= myText;
}
在.h文件中带有此声明
NSString *myText;
如果我只输入英文,它将正常工作,但是如果输入俄语,则不会保存/显示任何内容。
因此,说我输入“ hello”是可行的,但是如果我输入“某些俄语短语”以追加self.textBox.text则不起作用。
如何使该俄语(或UTF8 /字符代码)兼容?
最佳答案
writeToFile:atomically:
已过时,并以默认编码写入字符串
(无论如何,可能是MacRoman)。更好地使用
[self.textBox.text writeToFile:path
atomically:NO
encoding:NSUTF8StringEncoding
error:&error];
写以UTF-8编码的字符串。
关于ios - NSDocumentDictionary:将NSString保存为俄语字 rune 件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22515119/