0

我制作了多语言网页,我使用 HTML5,但为什么我尝试在 W3C 中验证时出错:

Line 4, Column 11: No explicit character encoding declaration has been seen yet (assumed utf-8) but the document contains non-ASCII.

<title>Viešbutis Graikijoje</titl…

..但是我的标题包含 utf-8 字符集:

<!DOCTYPE html>
<html lang="en">
<head>
<title><?php echo $title?></title>
<meta name="robots" content="index, follow" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

我读过其他帖子,它说你需要使用 utf-8 字符集,但我确实使用它.. 我也试过 put

    AddType 'text/html; charset=UTF-8' html

..in .htaccess 文件,但它不起作用。有任何想法吗?

4

2 回答 2

2

您在 中包含非 ascii 字符<title>,但您<meta>将文档声明为 UTF8 的标签尚未出现。

将内容类型<meta>标签移动到<head>:

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><?php echo $title?></title>
<meta name="robots" content="index, follow" />

虽然AddType.htaccess 中的指令是一个好主意,如果(且当)从该目录提供的具有 .html 扩展名的每个文档都是具有 UTF8 字符集的 HTML,W3 验证器仍然希望您显式声明字符集在文档中。

另请注意,在编写 XHTML 时,它们将允许您在 XML 声明中声明它:

<?xml version="1.0" encoding="utf-8" ?>
于 2012-08-07T09:50:20.563 回答
0

把文字

<meta charset="utf-8"/>

在。。之间

<head></head> 

标签。

此外,检查文件是否使用 UTF-8 编码保存。检查你的编辑器。

于 2012-08-07T09:55:17.390 回答