[英]How can I get CSV file encoding UTF-8 in C#.Net?
I wanna make CSV file encoding UTF-8. 我想制作UTF-8编码的CSV文件。 Now, my CSV file cannot show Japanese Fonts.
现在,我的CSV文件无法显示日文字体。 I want C# code to solve this problem.
我想要C#代码来解决这个问题。
SuSanda, SuSanda,
I'm not sure about your current code or your actual text you're trying to save, but this might get you in the right direction. 我不确定您当前的代码或您尝试保存的实际文本,但这可能会让您朝着正确的方向前进。
using(var sw = new StreamWriter("testfile_utf8.csv", false, Encoding.UTF8))
{
sw.WriteLine("頼もう");
}
If you open that file in Excel, it will show the Japanese text as expected. 如果您在Excel中打开该文件,它将按预期显示日语文本。
If you do not include the Encoding.UTF8
parameter, it will display gibberish. 如果您不包含
Encoding.UTF8
参数,它将显示乱码。
I hope that's what you're looking for. 我希望这就是你要找的东西。
This code helps to text from a csv file to save it as a encoded csv file. 此代码有助于从csv文件中将文本保存为编码的csv文件。 To use it Call as below and save it.
使用方法如下呼叫并保存。
GetCSVFileContent("Your_CSV_FileName")
GetCSVFileContent( “Your_CSV_FileName”)
protected byte[] GetCSVFileContent(string fileName)
{
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileName, Encoding.Default, true))
{
String line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
string allines = sb.ToString();
UTF8Encoding utf8 = new UTF8Encoding();
var preamble = utf8.GetPreamble();
var data = utf8.GetBytes(allines);
return data;
}
StringBuilder sb = new StringBuilder();
var columnNames = dt.Columns.Cast<DataColumn>().Select(column => column.ColumnName).ToArray();
sb.AppendLine(string.Join(",", columnNames));
foreach (DataRow row in dt.Rows)
{
var fields = row.ItemArray.Select(field => field.ToString()).ToArray();
sb.AppendLine(string.Join(",", fields));
}
File.WriteAllText(fileName, sb.ToString(), Encoding.UTF8);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.