在eclipse中使用内置模板作为我的html页面时,我在xhtml doctype之前添加了以下代码:<?xml version="1.0" encoding="ISO-8859-1" ?>
此代码是否会影响html页面?
答案 0 :(得分:1)
不,它没有,你的html对每个浏览器仍然有效和可读。 (但是,对于IE9以下的每个版本,它都会将IE置于怪癖模式 - 请参阅@Rob’s comment。)
因为您使用的是xhtml,它基本上是一种xml,所以浏览器需要对文档进行某种编码。
历史上,HTML文档的字符编码也是 由Web服务器通过HTTP的charset参数指定 Content-Type标头,或通过文档本身中的
meta
元素。在 XML文档,指定文档的字符编码 关于XML声明(例如,<?xml version="1.0" encoding="EUC-JP"?>
)。为了便携式呈现文件 具体的字符编码,最好的方法是确保 Web服务器提供正确的标头。如果这是不可能的,a 想要明确设置其字符编码的文档必须 包括XML声明,编码声明和meta
http-equiv语句(例如,<meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />
)。在符合XHTML的用户中 代理,XML声明的编码声明的值 优先。
顺便说一下,这只是你使用的另一个字符集而不是UTF-8或UTF-16。如果使用默认的UTF8或UTF016,则会有一些例外情况。请参阅W3C(再次)。
答案 1 :(得分:1)
构造<?xml version="1.0" encoding="ISO-8859-1" ?>
不是doctype问题,而是XML声明,可以在任何XML文档的开头使用,无论它是否具有文档类型声明,是否恰好是XHTML或其他东西其他。根据{{3}},“所有XML文档都不需要XML声明;但强烈建议XHTML文档作者在其所有文档中使用XML声明。当文档的字符编码不是默认的UTF-8或UTF-16且没有编码由更高级别的协议确定时,需要这样的声明。“
因此,如果XHTML文档实际上是ISO-8859-1编码的,那么XML声明是有用且值得推荐的。如果没有,那么这是错误的信息。