Asp.net 如何将拉丁字符串转换为西里尔文?

Asp.net 如何将拉丁字符串转换为西里尔文?,asp.net,Asp.net,我正在尝试将标签从拉丁语打印到西里尔语,这些方法我已经尝试了很多次,但都没有成功,结果是: System.Text.ASCIIEncoding: ????? ?????????? System.Text.UTF8Encoding: ИВÐÐÐ Ð’ÐСИЛЕВСКРSystem.Text.UnicodeEncoding: ИВÐÐÐ Ð’ÐСИЛЕВСКР我不知道我做错了什么: protected void Button1_Click(object se

我正在尝试将标签从拉丁语打印到西里尔语,这些方法我已经尝试了很多次,但都没有成功,结果是:

System.Text.ASCIIEncoding: ????? ??????????
System.Text.UTF8Encoding: ИВÐÐÐ Ð’ÐСИЛЕВСКÐ
System.Text.UnicodeEncoding: ИВÐÐÐ Ð’ÐСИЛЕВСКÐ
我不知道我做错了什么:

protected void Button1_Click(object sender, EventArgs e)
    {
        string path = @"c:\Kitchen\bar.xls";


        if (!File.Exists(path))
        {
            using (StreamWriter sw = File.CreateText(path))
            {
                string cyrillicText = "ЗДРАВО НА СИТЕ";
               string cyrillicText1 = "HELLO everyone";

                System.Text.ASCIIEncoding encodingASCII = new System.Text.ASCIIEncoding();
                System.Text.UTF8Encoding encodingUTF8 = new System.Text.UTF8Encoding();
                System.Text.UnicodeEncoding encodingUNICODE = new System.Text.UnicodeEncoding();

                byte[] textBytesASCII = encodingASCII.GetBytes(cyrillicText);
                byte[] textBytesUTF8 = encodingUTF8.GetBytes(cyrillicText);
                byte[] textBytesCyrillic =   encodingUNICODE.GetBytes(cyrillicText);
      byte[] textBytesCyrillic1 = encodingUNICODE.GetBytes(cyrillicText1);

                sw.WriteLine("{0}: {1}", encodingASCII.ToString(), encodingASCII.GetString(textBytesASCII));
                sw.WriteLine("{0}: {1}", encodingUTF8.ToString(), encodingUTF8.GetString(textBytesUTF8));
                sw.WriteLine("{0}: {1}", encodingUNICODE.ToString(), encodingUNICODE.GetString(textBytesCyrillic));
   sw.WriteLine("{0}: {1}", encodingUNICODE.ToString(), encodingUNICODE.GetString(textBytesCyrillic1));





                System.Text.Encoding iso_8859_2 = System.Text.Encoding.GetEncoding("windows-1251");
                System.Text.Encoding utf_8 = System.Text.Encoding.UTF8;

                NameValueCollection n = HttpUtility.ParseQueryString("RT=Може",iso_8859_2 );
                sw.Write(n["RT"]);

            }
        }
    }

当我用Console.WriteLine代替sw.WriteLine时,我得到了预期的结果???对于不包含西里尔字母的ASCII,UTF8和Unicode都显示了预期的西里尔字母文本。@Hans kesting sw.WriteLine可能有什么问题?我不认为sw.WriteLine有什么问题。你是如何看待结果的?该应用程序理解UTF-8吗?@Hans Kesting该应用程序如何理解UTF-8我应该在这里放些别的东西,一些转换器还是什么?