2017-07-19 28 views
1

是否有任何標籤告訴瀏覽器僅打印標籤內部的內容,而不關心標籤內部的語法?我試圖打印一些unicode字符,但瀏覽器不斷髮出錯誤信息,即使我將該字符直接粘貼到pre標籤內,而不使用&符號。如何在XHTML 5中直接打印文本

我試圖在div標籤內打印©,但將該字符放入div標籤內會導致「格式不正確」的錯誤(該頁面甚至不會顯示在Mozilla Firefox中,帶有版權符號的句子不在Microsoft Edge中打印)。

該頁面將作爲application/xhtml + xml提供。

下面是代碼:

<footer>©</footer> 

,這裏是錯誤:

XML Parsing Error: not well-formed Location: http://programcode.net/ Line Number 19, Column 13: 
<footer></footer> 

------------^

如果我這樣做:

<footer><pre>© </pre></footer> 

然後發生同樣的錯誤:

XML Parsing Error: not well-formed Location: http://programcode.net/ Line Number 19, Column 18: 
<footer><pre> </pre></footer> 

-----------------^

我試圖宣佈UTF-8和UTF-32(在無論是在XHTML文件的元標記,和.htaccess),但錯誤仍然發生。

+0

你能分享你想要展示哪些角色以及你期望得到哪些圖片? – DMC19

+0

@ DMC19我編輯了這個問題。 –

+0

©符號不應引起問題。確切地說,錯誤消息在Firefox中說了些什麼? – Alohci

回答

0

XHTML很棒,因爲它使用了非常嚴格的XML解析器。當您遇到錯誤時知道您有錯誤,需要修復。我見過一個人花了三天的時間試圖找出爲什麼Safari不能工作,但所有其他瀏覽器都正常工作(他錯過了元素屬性的引用)。

你需要做的是編碼HTML實體。有幾個網站向您展示了完整的Unicode範圍及其字符。我建議使用https://unicode-table.com/en/,因爲它不那麼嚇人。

現在,一旦你在那裏,你會想要search for the copyright符號。

接下來,您將點擊顯而易見的符號,然後您將以copyright page結束。

您正在查找的HTML代碼(當與其他專業人士交談時,恰當的術語是「數字HTML實體」)。切勿使用鬆散的「實體」(&copy;),要始終使用數字HTML實體(&#169;)。

所以,你的代碼應該如下所示: ©

XHTML,CSS和JavaScript處理HTML實體有點不同。

對於JavaScript實體您需要用小寫字母'u'替換大寫'U',刪除'+'。這裏是你可以從任何瀏覽器的Web開發者控制檯運行一個例子:

alert('Look at my \u00A9 date!'); 

請注意,您必須雙零的版權符號(除他們將打破代碼)。

對於CSS實體這是一個有點簡單:

h1::after {content: '\00A9'; display: block; float: left;} 

爲什麼這麼複雜?

有八位到一個字節(每秒一兆字節實際上只有125,000字節(125千字節)秒)有些字符不能用代碼中的單個字符表示有多個級別的Unicode字符集),但大多數網站正在轉向UTF-8,有些語言(如中文,盡我所知)使用整個單詞的符號(他們的「字母」是,更多的是),所有這些字符必須以某種方式由代碼來表示(你沒有看到)。有一個很大的舉動來支持UTF-8本地到處(尤其是web)。在使用XHTML時,幾乎任何超過字符代碼127的東西都應該被編碼。它可能無法在本地工作,這是另一個問題的更高級的話題。希望這會給你足夠的洞察力得到移動和溝槽。

相關問題