【问题标题】:How to insert Unicode character into csv file?如何将Unicode字符插入csv文件?
【发布时间】:2019-07-09 15:36:08
【问题描述】:

我在 Unity 中有一个 C# 脚本,它使用 StreamReader 将数据导出到 csv 文件。我正在尝试在文件中写入字符串“Δ Height”作为标签,但是当我运行脚本时,该符号显示为“â^†”。我如何将它的 Unicode 字符插入到字符串中,以便它在 csv 文件中正确显示?

【问题讨论】:

  • 是streamReader还是StreamWriter?前者用于读取,而导出需要写入操作
  • @VarunK 这是一个 StreamWriter,我的错!使用转义序列 \u0934 仅适用于预览,而不适用于实际的 excel 工作表。

标签: c# .net visual-studio unity3d


【解决方案1】:

如下创建 StreamReader

new StreamReader(inputFilePath, System.Text.Encoding.Unicode);

【讨论】:

  • 这似乎有一个副作用,即放入 csv 的值不再用逗号分隔。我的所有数据现在都在一列中,而不是出现在多列中。是否有解决此问题的方法或将 Unicode 字符放入的替代方法?
【解决方案2】:

您需要使用 Encoding.UTF8。 Unicode 编码不起作用; Excel 将在一列中显示所有单元格。

我已经在 Excel 中验证了由以下代码生成的 test.csv

using (var sw = new System.IO.StreamWriter(@"e:\test.csv", false, System.Text.Encoding.UTF8))
            {
    sw.WriteLine("1,Δ Height,anotherValue");
}

【讨论】:

    猜你喜欢
    • 2017-03-28
    • 2012-10-17
    • 2010-10-28
    • 1970-01-01
    • 2019-09-04
    • 2011-07-25
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    相关资源
    最近更新 更多