你好不能在文本文件中读取法语口音(如'é'), 这是我用来打开和读取文件的代码片段......
FILE* file = fopen( [MyFileName UTF8String], "r, ccs=UTF-8");
if (file != 0)
{
while(fgets(buffer, 1024, file) != NULL)
{
NSString* string = [[NSString alloc] initWithCString: buffer];
//Do many things.....
}
fclose(file);
}
我看不出问题出在哪里,我的文件在UTF8中正确编码......
谢谢!
答案 0 :(得分:2)
c中的fgets函数只是ASCII,你需要使用fgetws。这是用于多字节编码的fgets的宽版本。
答案 1 :(得分:1)
您可以直接使用fopen
方法,而不是fgets
和NSString
来阅读stringWithContentsOfFile:usedEncoding:error:
中的文件内容。
NSString *fileContent = [NSString stringWithContentsOfFile:myFilePath usedEncoding:NSUTF8StringEncoding error:NULL];