iPhone文档编码问题中创建的文档文件

iPhone文档编码问题中创建的文档文件,iphone,Iphone,我正试图通过以下代码在文档目录中编写MSword文件: NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); NSString* path; NSString* gradeDoc = [self fetchCommentsDesc]; NSString* str = [self.objStudent.strName stringByAppendingFo

我正试图通过以下代码在文档目录中编写MSword文件:

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString* path;
NSString* gradeDoc = [self fetchCommentsDesc];
NSString* str = [self.objStudent.strName stringByAppendingFormat:@".doc"];
path = [[paths objectAtIndex:0] stringByAppendingPathComponent:str];
[gradeDoc writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

[self fetchCommentsDesc] returns NSString.
self.student.strName is a String
问题: 当我打开在iphone文档目录中创建的文档文件时,文档中的所有特殊字符都显示为方框或一些阿拉伯字符


请帮忙

您正在写入一些UTF-8字节,它不是“.doc”。尝试将其写入“.txt”文件

此外,您可能需要为某些文本编辑器编写一个“字节顺序标记”,以注意它是UTF-8或UTF-16(在NS/CF land中,这称为“外部表示”):


还可以尝试kCFStringEncodingUnicode和kCFStringEncodingUTF16。

您好,谢谢您的回复,但这不起作用。写入.txt文件不是问题,而是客户需要.doc文件。我尝试了上面的代码,当我们试图打开.doc文件msword打开文件转换对话框,其中有一个编码列表,我必须从中选择1。我尝试此操作时也会出现此对话框:[gradeDoc writeToFile:path Atomicaly:YES encoding:NsuNicoDestingEncoding error:nil];尝试将HTML输出为“.doc”。这是一个令人讨厌的黑客攻击(你可能需要使用XML或XML实体),但我认为Word的大多数版本都支持它。我尝试了这个。现在,doc在ms Word中完全打开了,但在mac中的“页面”和ipad中的“好阅读器”中都没有打开。
NSData * d = [(id)CFStringCreateExternalRepresentation(NULL, (CFStringRef)gradeDoc, kCFStringEncodingUTF8, 0) autorelease];
[d writeToFile:path atomically:YES];