【发布时间】:2010-09-16 15:39:11
【问题描述】:
我需要生成一个 CSV 文件。也许我“做错了”,因为我用我自己的代码而不是使用 lib 转储文件,但无论如何。
看起来我一切正常。引号,逗号和一切似乎都完美地逃脱了。这很容易。问题是我正在使用 unicode 字符串进行测试,它们以 ???? 的形式出现。当我使用 MS Excel 用我的测试字符串保存文件并点击另存为 CSV 打开文件时,我遇到了同样的问题(unicode 字母变成 ?????)。不支持unicode吗?
我只是尝试像这样转储字符串而不是将其输出到网页
var f = new System.IO.StreamWriter(filename, false, System.Text.Encoding.Unicode);
现在我看到了 unicode 文本,但现在所有内容都在一列中。奇怪的是,在我选择的文本编辑器中,一切看起来都很正常,如果我复制/粘贴几列并将其粘贴为另存为 .csv,我会看到这些列正常。虽然它可能会去除 unicode。
如何正确保存?
【问题讨论】:
-
使文本的编码与网页的编码相匹配。
-
把你的代码的 sn-p 用于编译 CSV。