读取文本文件中的法语字符
您好,无法读取文本文件中的法语口音(如“é”), 这是我用来打开和读取文件的代码...
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...
谢谢!
Hi can't read the french accent (like 'é') in a text file,
this is the piece of code I use to open and read the file...
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);
}
I can't see where is the problem, my file is correctly encoded in UTF8...
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
c中的fgets函数仅是ASCII,您需要使用fgetws。这是 fgets 的宽版本,用于多字节编码。
The fgets function in c is ASCII only, you need to use the fgetws. This is the wide version of fgets for use with multibyte encodings.
您可以使用
stringWithContentsOfFile:usedEncoding:error:
来读取NSString
中的文件内容,而不是fopen
和fgets
> 直接方法。Instead of
fopen
andfgets
you can read the content of file in aNSString
by usingstringWithContentsOfFile:usedEncoding:error:
method directly.