汉字乱码

时间:2014-05-18 20:53:45

标签: xcode excel csv

我编写了一个servlet来下载包含中文字符的数据库记录。下载文件采用csv格式。 servlet响应内容类型设置为 "文本/ CSV;字符集= UTF-8"

当我在Excel中打开csv时,中文字符是不可读的。但是,如果我使用xcode编辑器打开相同的文件,它们会显示正常。

我无法在任何一个应用程序中找到任何char编码设置。

Excel和Xcode编辑器有什么区别?

1 个答案:

答案 0 :(得分:0)

这可能是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