我编写了一个servlet来下载包含中文字符的数据库记录。下载文件为csv格式。servlet响应内容类型设置为"text/csv;charset=utf-8“。
当我在Excel中打开csv时,中文字符不可读。但是,如果我使用xcode编辑器打开相同的文件,它们显示得很好。
我在这两个应用程序中都找不到任何字符编码设置。
Excel和Xcode编辑器有什么区别?
发布于 2014-05-19 05:18:47
这可能是Excel处理CSV文件的限制。您可以尝试使用带有txt扩展名的制表符分隔格式:
NSDictionary *dictionary = @{@"(nǐ hǎo) - inf" : @"你好",
@"(hǎojǐu bújiàn)" : @"好久不見 [好久不见]"};
NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *path = [documentsPath stringByAppendingPathComponent:@"test.txt"];
NSMutableString *string = [NSMutableString string];
for (NSString *key in dictionary) {
[string appendString:key];
[string appendString:@"\t"];
[string appendString:dictionary[key]];
[string appendString:@"\n"];
}
NSError *error;
BOOL success = [string writeToFile:path atomically:YES encoding:NSUTF16StringEncoding error:&error];
NSAssert(success, @"error = %@", error);我能够在Excel中打开此文件。但我不得不使用NSUTF16StringEncoding,而不是NSUTF8StringEncoding。
https://stackoverflow.com/questions/23726746
复制相似问题