首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汉字乱码

汉字乱码
EN

Stack Overflow用户
提问于 2014-05-19 04:53:45
回答 1查看 514关注 0票数 0

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

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

我在这两个应用程序中都找不到任何字符编码设置。

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

EN

回答 1

Stack Overflow用户

发布于 2014-05-19 05:18:47

这可能是Excel处理CSV文件的限制。您可以尝试使用带有txt扩展名的制表符分隔格式:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23726746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档