Я пытаюсь опубликовать статьи, написанные в Word на веб-сайте как html, у меня есть клиент Windows, который преобразует статью в html и отправит html в папку на веб-сайте, я затем покажите статью в IFrame. Однако в IE9 изображения не будут отображаться, потому что IE9 пытается преобразовать их в векторную графику. Я решил удалить код из html, который отвечает за это, и здесь начинается моя проблема. После того, как я изменяю и сохраняю файл, я получаю символы мусора, и они также отображаются на веб-странице. Однако, если я вручную отредактирую файл в блокноте ++, у меня не получаются одинаковые проблемы. Как я могу прочитать файл, сохраненный в виде слова html с помощью C#, и не получить эти мусорные символы? вот мой кодC# Filestream не удалось правильно прочитать слово html
private bool AdjustHtmlPageForIE9Images(FileInfo file)
{
bool success = true;
try
{
string content = File.ReadAllText(file.FullName);
//replace [if gte vml 1] with [if gte iesucksopd 1]
content = content.Replace("[if gte vml 1]", "[if gte iesucksopd 1]");
//replace [if !vml] with [if !iesucksopd]
content = content.Replace("[if !vml]", "[if !iesucksopd]");
//now write the file over
File.WriteAllText(file.FullName, content);
}
catch (Exception ex)
{
throw ex;
}
return success;
}
и это приводит к отображению некоторых символов мусора.
Привет, ребята, спасибо за все ответы здесь является то, что я сделал, чтобы исправить эту
Привет Ребята спасибо за ответы, наконец получил это происходит, я должен был открыть в FF и проверьте кодировку, и это был западный Windows- 1252, то как SLaks sed pass GetEncoding (1252) в операциях чтения и записи здесь представляет собой переработанный код.
private bool AdjustHtmlPageForIE9Images(FileInfo file)
{
bool success = true;
try
{
Encoding encoding = Encoding.GetEncoding(1252);
string content = File.ReadAllText(file.FullName,encoding);
//replace [if gte vml 1] with [if gte iesucksopd 1]
content = content.Replace("[if gte vml 1]", "[if gte iesucksopd 1]");
//replace [if !vml] with [if !iesucksopd]
content = content.Replace("[if !vml]", "[if !iesucksopd]");
//now write the file over
File.WriteAllText(file.FullName, content, encoding);
}
catch (Exception ex)
{
throw ex;
}
return success;
}
Разве это не просто смешно, что IE9 не может сделать такую простую вещь, как отображения HTML от слова в IFrame не удивительно, что популярность продолжает падать.
Никогда не пишите 'throw ex'. – SLaks
Какая кодировка является файлом? – SLaks
Как я могу определить кодировку файлов? – smoothe