我有一个可编辑的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/

10-11 19:39