我有一个非常糟糕的问题。我在数据库中有很多用波斯语写的记录。出于某些原因,我加载它们,对它们进行一些更改(通过HtmlAgilityPack),然后将它们保存回db。但所有字符串都转到了?????????????
个符号。有没有办法让他们回来?这是我的代码片段:
private void SomeStartMethod(){
var str = ReadFromDb();
str = MakeChanges(str);
SaveToDbAgain(str);
}
private string MakeChanges(string contentHtml) {
var reader = new StringReader(contentHtml);
var doc = new HtmlDocument();
doc.Load(reader);
var nodes = doc.DocumentNode.SelectNodes("//a[@href]");
if (nodes == null || !nodes.Any())
return contentHtml;
foreach (var link in nodes) {
// do some stuffs here...
}
using (var memoryStream = new MemoryStream()) {
doc.Save(memoryStream);
memoryStream.Seek(0, SeekOrigin.Begin);
var streamReader = new StreamReader(memoryStream /* here was my mistake, I forgot to put , Encoding.UTF8 here */);
var result = streamReader.ReadToEnd();
return result;
}
}