2012-03-15 59 views
0

此網頁無法顯示中文字符,我可以找到顯示這些字符的方法嗎?無法在linux服務器上爲html顯示漢字

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> 


<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <META HTTP-EQUIV="Content-language" CONTENT="zh"> 
     <link rel="stylesheet" href="css/reset.css" type="text/css" media="screen" charset="GBK" /> 
     <script type="text/javascript" src="js/jquery-1.7.1.js"></script> 
     <script type="text/javascript" src="js/jquery.cookie.js"></script> 
     <script type="text/javascript" src="js/counter.js"></script> 
    </head> 
    <body> 
     <h1>Is your sign of zodiac in this picture ?星座</h1> 
     <img src="a.png"> 
     <div id="page1_yes" > 
      <input type="button" name="yesb" value="Yes"> 
     </div> 
     <div id="page1_no"> 
      <input type="button" name="nob" value="No"> 
     </div> 
    </body> 
</html> 

-----------結果是在這裏: 是您的所屬星座在這張照片DC×U

回答

2

Web服務器是最有可能輸出Content-Type?設置爲ISO-8859-1或其他內容的HTTP標頭,取代您的<meta> Content-Type標籤。配置你的網絡服務器輸出一個正確的編碼的HTTP頭和/或確保你的HTML實際上保存在UTF-8中。

+0

+1!要診斷這一點,請查看瀏覽器中的標題,或執行HEAD請求並查看HTTP Content-Type標頭。 – tripleee 2012-03-15 06:18:00

1

在本地查看時,文檔顯示OK。當您將它保存在文件中並上傳到服務器時,會發生奇怪的事情。這不是一個簡單的錯誤編碼問題,因爲@deceze提出這個問題,因爲當以UTF-8保存並且例如解釋爲ISO-8859-1時,中文字符顯示爲6個字符,因爲每個中文字符字符在UTF-8中有三個字節的表示)。

由於您將字符看作ISO-8859-1範圍中的四個字符,可能它們實際上是以UTF-16編碼保存的,然後通過某種映射錯誤地進行代碼轉換,最後解釋爲結果字節爲ISO-8859-1編碼。描述保存和上傳文件的過程,特別是提供上傳文件的URL可能會有所幫助。

+0

某些字符可能會消失,因爲它們碰巧映射到不可打印的字符,它不一定必須顯示爲6 *可見*字符。我同意它不是UTF-8與Latin-1,這只是一個標準的例子。沒有更多的信息就很難說出它究竟在哪裏搞砸了。 – deceze 2012-03-15 05:20:27

相關問題