CSV文件中的日语翻译问题 - ASP.NET MVC

时间:2015-08-26 14:49:44

标签: asp.net-mvc csv

我在以CSV格式导出日文文本时遇到问题。正在导出垃圾字符而不是原始日文文本。我使用.NET MVC FileStreamResult导出Csv文件中的记录,并使用编码格式为UTF8 (我还使用了其他一些编码格式,但没有运气)。我调试了我的代码,能够从内存流中转换字符串,反之亦然,能够看到导出的原始日文文本。导出完成后,我打开了CSV文件,但只能看到垃圾字符而不是预期的文本。如果我在NotePad 中打开CSV文件(在记事本中打开csv文件不是我的要求。我只是指记事本以验证我是否能够看到日语翻译语言) ,然后我可以看到预期的日文文本。如果有人请帮我找到这个问题的根本原因并提供解决方案,那将非常有帮助。

实施例。 东京都品川区大崎写成æ±äº¬éƒ½å“å·åŒºå¤§å'Ž

注意:如果我使用LibreOffice Calc,Linux默认gEdit打开示例.CSV文件,我可以看到预期的日文文本正确导出。但问题是使用MS Office打开此csv文件。

请查看以下附加代码 -

Controller/Action to execute while clicking on export to Csv button
================================================================================
[HttpPost]
[ValidateInput(false)]
public FileStreamResult SaveCustomerInfo()
{
    return ExportToCsv();
}

================================================================================
private static FileStreamResult ExportToCsv()
{
    var exportedData = new StringBuilder();

    exportedData
        .AppendLine("実行日,口座番号,支店番号,アカウント名,支店名,の/受益秩序,ステートメント日,入力日,お問い合わせ番号, ,Date Range")
        .Append(
            "CS0001,Demo FName,Demo LName,8/20/2015,\"Demo User Address\",City,Country,08830,0123456789,15813,Absolute from 8/20/2015 to 8/22/2015");

    var stream = PrintingHelper.StringToMemoryStream(Encoding.UTF8, exportedData.ToString());
    var fileStreamResult = new FileStreamResult(stream, "text/csv")
                               {
                                   FileDownloadName =
                                       new StringBuilder("TestExportedFileInCsv")
                                       .Append(".csv").ToString()
                               };

    return fileStreamResult;
}

1 个答案:

答案 0 :(得分:0)

听起来好像您没有在尝试打开csv的计算机上安装MS Office语言包。