我知道這是一個常見問題,但我無法找到我的問題的答案。我目前正在研究HTML編輯器。只需點擊一下按鈕,您就可以從瀏覽器視圖切換到文本視圖。如果我再次按下按鈕,則瀏覽器將再次顯示HTML代碼。但我也可以在文本模式下手動更改代碼,如果我這樣做,代碼將顯示錯誤。例如:如果我寫的是這樣的:HTML:錯誤的編碼
ÖU形
,我改變的東西,它會顯示這樣的:
A- A「AOE
我已經試過這個:
byte[] bytes = Encoding.Default.GetBytes(mytextbox.Text);
string htmlcode = Encoding.UTF8.GetString(bytes);
這:
HttpUtility.HtmlDecode
,但沒有工作。我希望你能幫助我。
編輯:
我有一個WPF web瀏覽器,我可以用MSHTML編輯我的代碼。如果我寫的是這樣的:
ÖU形
,我切換到文本視圖,此代碼:
mytextbox.Text = doc.body.outerHTML;
在文本框中顯示的HTML代碼:
<BODY>Ö Ä Ü</BODY>
該文本框是ReadOnly如果你想編輯這個你需要按另一個按鈕。如果我編輯的文本以及與此代碼更改爲當前BrowserView中再次:
if (myWebBrowser != null)
{
myWebBrowser.Dispose();
browsergrid.Children.Remove(myWebBrowser);
}
if (doc != null)
{
doc.clear();
}
myWebBrowser = new WebBrowser();
browsergrid.Children.Add(myWebBrowser);
myWebBrowser.NavigateToString(mytextbox.Text);
doc = myWebBrowser.Document as HTMLDocument;
doc.designMode = "On";
的瀏覽器顯示此:
A- A「AOE
你能發佈HTML代碼嗎? – Raptor
你肯定,*絕對*應該使用該代碼。你不應該在任何地方使用'Encoding.Default'。現在,你對這個問題的診斷有多遠?你如何顯示HTML? –
這不是編碼的工作方式。您無法在一種編碼中獲取字節,並將它們解釋爲UTF8。 –