2017-07-19 27 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的东西都应该被编码。它可能无法在本地工作,这是另一个问题的更高级的话题。希望这会给你足够的洞察力得到移动和沟槽。

相关问题