【问题标题】:Unicode UTF-8 export csv from datagridviewUnicode UTF-8 从 datagridview 导出 csv
【发布时间】:2016-10-09 18:11:59
【问题描述】:

我编写了这段代码,用于从DataGridView 导出CSV 文件:

var dialog = new SaveFileDialog { Filter = @"Csv File|*.csv" };
var result = dialog.ShowDialog();
if (result != DialogResult.OK)
    return;
var builder = new StringBuilder();
var rowcount = dgvSum.Rows.Count;
var columncount = dgvSum.Columns.Count;
var headerCols = new List<string>();
for (var j = 0; j < columncount - 1; j++)
{
    headerCols.Add(dgvSum.Columns[j].HeaderText);
}
builder.AppendLine(string.Join(";", headerCols.ToArray()));
for (var i = 0; i < rowcount - 1; i++)
{
    var cols = new List<string>();
    for (var j = 0; j < columncount - 1; j++)
    {
        cols.Add(dgvSum.Rows[i].Cells[j].Value.ToString());
    }
    builder.AppendLine(string.Join(",", cols.ToArray()));
}
File.WriteAllText(dialog.FileName, builder.ToString());
MessageBox.Show(@"Csv file was created.");

但是,我想在我创建的文件中显示 Unicode 字符。如何转换为UTF-8

【问题讨论】:

  • 有人帮帮我吗???
  • 您已经在用 UTF8 编写它。不清楚您的问题是什么,请提供minimal reproducible example 来证明您的问题。
  • 我使用波斯语字符。但它给了我一个不清楚的文件
  • 我会在你把它写入文件之前检查你的字符串,我怀疑在你写之前它是错误的。
  • 那么现在我能做些什么来修复它

标签: c# csv unicode utf-8 datagridview


【解决方案1】:

试试这个:

System.IO.File.WriteAllBytes(fileLocation, Encoding.UTF8.GetBytes(builder.ToString()));

用法:

WriteAllBytes 方法的第二个参数意味着您可以使用特定编码的字符串保存文件,包括 UTF-8。

您可以使用ReadAllBytes与字符串块的其他编码进行比较,如果它们是相同的。

string test = "Hello World!\u1255";
string fileLocation = "the file location you want to save";
File.WriteAllBytes(fileLocation , Encoding.UTF8.GetBytes(test));

Assert.AreEqual(Encoding.UTF8.GetBytes(test), file.ReadAllBytes());

【讨论】:

  • File.WriteAllText 已经使用了UTF8(参见reference source),所以这将给出相同的结果。
  • 我得到错误:严重性代码描述项目文件行抑制状态错误 CS1503 参数 2:无法从 'byte[]' 转换为 'string' WindowsFormsApplication2 C:\Users\kanoonadmin\Desktop\WindowsFormsApplication2\WindowsFormsApplication2 \Form1.cs 585 活动
猜你喜欢
  • 1970-01-01
  • 2013-06-13
  • 2013-10-06
  • 1970-01-01
  • 2017-07-16
  • 2011-04-17
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
相关资源
最近更新 更多