我对导出到 csv 文件的数据有疑问。 它涉及带有重音字符的数据。数据类型为字符串。 在我的文件中我有这个:
Téléphones et internet; Abonnement iPad; 13,90 €; Débit
我想要:
Téléphones et internet; Abonnement iPad; 13,90€ Débit
应该使用什么代码来做到这一点? 谢谢。
编辑:我的代码
NSMutableString *writeString = [NSMutableString string];
for (id object in [[self fetchedResultsController] fetchedObjects]) {
NSString * object1 = [[object valueForKey:@"object1Data"] description];
NSString * object2 = [[object valueForKey:@"object2Data"] description];
NSString * object3 = [[object valueForKey:@"object3Data"] description];
NSString * object4 = [[object valueForKey:@"object4Data"] description];;
[writeString appendString:[NSString stringWithFormat:@"%@; %@; %@; %@\n", object1, object2, object3, object4]];
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* savePath = [paths objectAtIndex:0];
savePath = [savePath stringByAppendingPathComponent:@"objectData.csv"];
[writeString writeToFile:savePath atomically:YES encoding:NSUTF8StringEncoding error:NULL];
EDIT2:为了查看我使用他的:
QLPreviewController *previewController=[[QLPreviewController alloc]init];
previewController.delegate=self;
previewController.dataSource=self;
[self presentViewController:previewController animated:YES completion:nil];
[previewController.navigationItem setRightBarButtonItem:nil];
- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* savePath = [paths objectAtIndex:0];
savePath = [savePath stringByAppendingPathComponent:@"objectData.csv"];
return [NSURL fileURLWithPath:savePath];
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
}
最佳答案
您的输出看起来可能是正确的,问题似乎在于您如何查看它。
您是将其导入 Excel 还是其他什么?根据我的经验,Excel 的 CSV 导入非常糟糕,它不会自动检测传入的 UTF-8 数据。
关于ios - 导出后csv文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21433079/