C# - 从 .txt 文件中读取俄文文本

6

我遇到了一个问题,尝试从一个 .txt 文件中读取俄语字符。但是当我读取时,文本总是变得损坏。该文件的编码方式为 UTF8。

以下是代码:

  TextReader reader = new StreamReader(deliveryLocation, Encoding.UTF8);
  translatedContent = reader.ReadToEnd();
  reader.Close();

有人能告诉我哪里出了问题吗?我已经尝试使用所有支持的编码方式,但文本总是损坏的?

这是我需要从文件中读取的文本样例:

从上面的表格中,我们可以看到ConservBank和WinRunner大约需要相同的时间来配置和运行测试循环,但是需要为WinRunner编写代码并将其执行所花费的时间比截屏更多。在他的报告中,工程师指出WinRunner需要专门为测试构建编程工具,而Shadow不需要。每个资源包含的页面都应该有一个SHILA名称(SHILO将是客户端特定的语言)。


1
你能否将数据样本发布到pastebin.com并提供链接给我们? - jcomeau_ictx
文件编码可能是UTF-8,但其中所有字符是否都是有效的UTF-8呢?我看过使用各种编码方式的文件,只需添加UTF-8 BOM并结束了; 但很遗憾,事情并不是那么简单。 - Piskvor left the building
但是带有一些嵌入的俄语字符,对吗? - jcomeau_ictx
无论如何,我现在要睡觉了,检查cp1251、koi8_r以及utf-16。 - jcomeau_ictx
这可能是一个不错的线索。 - Trae Moore
2个回答

3

使用

TextReader reader = new StreamReader(deliveryLocation, Encoding.Defaut);
  translatedContent = reader.ReadToEnd();
  reader.Close();

2

你好,尝试以下方法来阅读俄语字符。

TextReader reader = new StreamReader(deliveryLocation, Encoding.GetEncoding("Windows-1252");
translatedContent = reader.ReadToEnd();
reader.Close();

请尝试使用Cyrillic-1251编码格式在Notepad++中打开输出数据。

祝好, Shambhu


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接