2012-10-18 37 views
11

在我的頁面上,頂部中間的文字(«Ce site Internet。»)包含E,其中帶有重音,在我的電腦上顯示爲問號。帶口音的E不能正確顯示

儘管事實上,我的頭標記中有meta charset =「UTF-8」,而使用Notepad ++打開時,包含文本的PHP文件顯示爲UTF-8。

那是怎麼回事?

+0

是你的服務器設置爲'utf-8'頭? – JKirchartz

+0

請僅在notepad ++中檢查文件編碼並將其設置爲「UTF-8編碼」。我在eclipse中將編碼更改爲「UTF-8」,但仍未顯示特殊字符(如é)。所以我繼續在notepad ++中檢查該文件的編碼,並向我展示了編碼是UTF-8 **,無需BOM **。所以我將它改爲UTF-8,並在eclipse中替換了文件,並且工作正常。 如果你這樣做,你甚至不需要設置 comeOnGetIt

回答

0

您是否使用重音字符的ASCII/HTML代碼?如果沒有,here's a list of them。搜索'E銳',你應該罰款該字符的代碼(它是& Eacute;(沒有空間),我認爲)。 起初我以爲這是你正在使用的字體家族,但我不認爲這是因爲我禁用了瀏覽器中的所有樣式,並且它們仍然顯示爲問號。

13

當瀏覽器無法識別正在讀取的數字時,它會顯示這些信息。 UTF-8是自同步的。與其他多字節字符編碼不同,您始終知道UTF-8在哪裏。如果你看到一個192-247的數字,你就知道你在一個多字節序列的開頭。如果你看到128-191,你就知道你在一箇中間。沒有任何遺漏第一個數字並篡改文本其餘部分的危險。 這意味着在UTF-8中,序列191和224之後永遠不會自然發生,因此瀏覽器不知道如何處理它,並顯示 。

使用在你的頭標記以下內容:

<meta charset="UTF-8"> 
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"> 

參見:http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/

0

的網頁實際上不是在UTF-8編碼,它在Latin1的編碼。您需要實際上將源代碼文件保存爲UTF-8或以其他方式確保以UTF-8編碼輸出。目前,您在網站聲明的編碼和實際編碼內容之間存在分歧。

相關問題