C# C读西里尔文

C# C读西里尔文,c#,character-encoding,C#,Character Encoding,大家好,例如,当我用记事本打开一个文本文件时,它会显示,例如,这个字符对我来说是可以的,这个输出 "ÍÜÞ ËÀÉÍ ÑÈÍÅÌÀ" "ÕÅÐÎÍ ÊÎÌÌÜÞÍÈÊÅÉØÍÇ" 但是当我试着用C读的时候 OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { text = File.ReadAllText(ofd.FileName); textBox1.Te

大家好,例如,当我用记事本打开一个文本文件时,它会显示,例如,这个字符对我来说是可以的,这个输出

"ÍÜÞ ËÀÉÍ ÑÈÍÅÌÀ"
"ÕÅÐÎÍ ÊÎÌÌÜÞÍÈÊÅÉØÍÇ"
但是当我试着用C读的时候

OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
     text = File.ReadAllText(ofd.FileName);
     textBox1.Text = text;
}
它表明

"��� ���� ������"
"����� ��������������"

您需要将正确的编码传递给File.ReadAllText:

然而,您需要事先知道编码,或者使用启发式方法解决它—您总是有可能得到错误的编码


对于您的实际用例,您知道编码是什么吗?

您需要将正确的编码传递给File.ReadAllText:

然而,您需要事先知道编码,或者使用启发式方法解决它—您总是有可能得到错误的编码


对于您的实际用例,您知道编码将是什么吗?

我需要阅读西里尔文,然后手动将其转换为正确的俄语格式,然后将其保存为utf-8非常感谢您的工作。。。我把textBox1.Text=File.ReadAllTextofd.FileName,Encoding.Default和know是阅读西里尔文所需的全部okI,然后手动将其转换为正确的俄语格式,然后将其保存为utf-8非常感谢它的工作。。。我把textBox1.Text=File.ReadAllTextofd.FileName,Encoding.Default和know都放在ok中
textBox1.Text = File.ReadAllText(ofd.FileName, encoding);