UTF-8结果出现问号

时间:2019-01-14 15:03:17

标签: c# encoding utf-8

在utf-8中书写和阅读文本会产生问题标记。

我有一个应用程序,可将数据库中的数据导出为CSV文件。然后可以再次导入这些文件,就像备份一样。现在我在编码瑞典语字符(如“åäö”)时遇到问题。在我的第一个解决方案中,使用stringwriter的编码编写了文件(请参见代码)。然后,我在记事本++中查看该文件时,其默认值为UCS-2 Little Endian encoding。 该文件看起来不错,所有特殊字符均正确呈现。但是,再次导入文件时,我开始遇到问题。当我使用Encoding.UTF8.GetString()时,它当然会写错字符,因为它是错误的编码。当然,这里的解决方案是使用UCS-2 Little Endian。问题是,我不想使用它!

因此,我尝试做的一件事是在写入时将自己的原始编码更改为UTF-8而不是result.Encoding,例如Encoding.UTF8。但是,当我在excel中打开文件时,åäö替换为问号。

我的问题是;如何使用UTF-8编码进行书写和阅读,并在Excel和记事本中正常使用特殊字母?也许使用Unicode更好?

public void ExportAttendees()
        {
            var result = new StringWriter();
            Response.ContentEncoding = result.Encoding; //Encoding.UTF8
        }



public ActionResult ImportAttendees(HttpPostedFileBase file)
        {

                    var content = Encoding.UTF8.GetString(binData).Replace("\0", "").Replace("\r", ""); //Here I could use something else?

                    //Code omitted

0 个答案:

没有答案