iT邦幫忙

1

html網頁亂碼的問題

請教大家
我有個HTML檔案,單獨開啟或瀏覽的時候都顯示正常中文字,但是我把它貼到網站後,它都會呈現亂碼(黑色三角形符號),其語法如下

<html xmlns="http://www.w3.org/1999/xhtml" >

    <title>網站規定</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="text/css">

 p.MsoNormal
	{margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Calibri","sans-serif";
	        margin-left: 0cm;
            margin-right: 0cm;
            margin-top: 0cm;
        }
p.MsoListParagraph
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:24.0pt;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Calibri","sans-serif";
	}
    </style>


    <p class="MsoNormal" 
        style="mso-pagination:widow-orphan;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">
        <span style="font-size:10.0pt;font-family:細明體;mso-bidi-font-family:細明體;mso-font-kerning:
0pt">本站是以學習、分享和交流為目的之網站。<span lang="EN-US"><o:p></o:p></span></span></p>
    <p class="MsoNormal" 

我有將它改成BIG5,如下列語法所示
<meta http-equiv="Content-Type" content="text/html; charset=Big5">
或者用記事本用另存檔案的方式

但是結果都依樣,是否有夥伴有其他的建議方式可以參考,感謝

看更多先前的討論...收起先前的討論...
儲存時有留意...
ektrontek iT邦研究生 3 級 ‧ 2016-03-12 09:05:01 檢舉
感謝
這個是用哪個編輯器來儲存的呢
Notepad++
ektrontek iT邦研究生 3 級 ‧ 2016-03-12 16:57:11 檢舉
感謝
有的 但試過後結果還是依樣
0
sky940811
iT邦新手 3 級 ‧ 2016-03-15 00:00:33
最佳解答

應該是您在第一行宣告的 DOCTYPE 關係,導致瀏覽器看不懂而亂碼

建議您可以將..

改成


試試看~

樓主這個是 XML 檔案喔
不能用 HTML 宣告

還有要改的地方實際是 Transitional//EN 要改成 Transitional//zh-Hant
這樣才對,但我的答案是因為直接在 HTML 標籤做,所以這邊有沒有改都無所謂了

ektrontek iT邦研究生 3 級 ‧ 2016-03-21 19:02:57 檢舉

我目前是將檔案儲存成網頁VM檔,已經沒有亂碼了,謝謝

2
fillano
iT邦超人 1 級 ‧ 2016-03-11 22:45:49

建議你使用瀏覽器的開發者工具檢視http header,例如使用Chrome的開發者工具中的Network,然後重新載入網頁,在左側的清單中選擇這個html的URL,在右側選擇Headers頁籤,然後看一下Response Headers中的Content-Type的值。確認一下Charset指定的值是否跟你預期的一樣。

另外,既然你都選了utf-8,改成big5當然也會出問題。

ektrontek iT邦研究生 3 級 ‧ 2016-03-12 16:58:33 檢舉

有的,但Content-Type 看不出來語系,是指抓錯語系嗎?謝謝

fillano iT邦超人 1 級 ‧ 2016-03-14 10:42:34 檢舉

首先,這些內容是怎麼貼上去的?透過Confluence的介面嗎?他提供的是一個線上編輯器。

然後,透過Chrome右上角的「自訂及管理Google Chrome」按鈕->更多工具->編碼,你看到瀏覽器偵測到的編碼是什麼?

fillano iT邦超人 1 級 ‧ 2016-03-15 17:53:55 檢舉

我自己測試了一些不同的組合,只有檔案內容編碼存成utf-8,然後meta裡面的charset設成big5會出現類似的狀況,但是也不完全一樣(你的狀況看起來是所有的中文字都變成問號,但是上述的話並不會變成這樣)。

除了這個,其他的靜態html檔也會有同樣的狀況嗎?如果都有這個問題,那還有可能是tomcat的問題。(當然,前提是靜態html本身直接看是ok的)

0
bensonlay
iT邦新手 5 級 ‧ 2016-03-12 21:47:13

1:將你所寫的東西.copy到notepad上.儲存為utf-8的格式.關閉
2:建立一個全新的utf-8基礎的網頁
3:開啟 notepad copy 上的資料到新的網頁.
因有時big-5會一直隱藏式的存在.所照成的亂碼.

ektrontek iT邦研究生 3 級 ‧ 2016-03-13 10:26:16 檢舉

我做了另外一個測試,將同樣的網頁語法儲存成VM檔案(他們的網頁格式),呈現是正常的

0
窮嘶發發發
iT邦高手 1 級 ‧ 2016-03-14 10:23:39

<html xmlns="http://www.w3.org/1999/xhtml" > 請改成
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-Hant" xml:lang="zh-Hant">

XML 本身沒有指定語系,前面的宣告是英文建議把 EN 也改成 zh-Hant
但只要這裡改了 HTML 標籤內的東西都會被當作 繁體中文的

我要發表回答

立即登入回答