HTML 使 用 的 文 档 字 符 集 是 根 据 [ISO10646] 的 世 界 字 符 集 (Universal Character Set, UCS) . 这 个 字 符 集 逐 字 等 同 于 Unicode 2.0 ([UNICODE]). 两 个 标 准 都 时 常 更 新 新 字 符 并 且 改 进 方 案 都 将 在 Web 节 点 磋 商.
就 当 前 的 说 明 书 而 言, 参 考 字 符 集 为?ISO/IEC-10646 或 Unicode 意 味 着 是 同 一 种 字 符 集. 无 论 如 何, 当 前 的 文 本 参 考 Unicode 的 描 述 文 本 的 运 算 法 则.
一 致 性 的 HTML 用 户 代 理 器 可 能 使 用 任 何 的 字 符 解 码 方 式 (character encoding) 接 受 或 发 送 一 个 文 本, 或 者 在 内 部 描 述 一 个 文 本. 一 个 解 码 方 法 说 明 了 一 些 文 本 字 符 集 的 子 集. 如 ISO-8859-1 (常 规 的 "Latin-1" 字 符 集 参 考 并 作 为 西 方 和 欧 洲 语 系 的 解 码) 解 码 方 式, ISO-8859-5 (提 供 斯 拉 夫 语 系) 解 码 方 式, SHIFT_JIS (日 文 解 码) 解 码 方 式 和 euc-jp (另 一 种 日 语 解 码) 解 码 方 式 保 存 了 各 自 的 字 符 集.
因 此, 字 符 解 码 允 许 作 者 在 方 便 的 合 适 的 文 档 字 符 子 集 下 工 作. 作 者 无 需 知 道 任 何 的 下 层 的 文 档 解 码 工 作 以 及 工 具 是 怎 样 使 用 解 码 的?--- 在?UTF-8 下 编 辑 日 语 编 辑 者 就 象 在 JIS 或 SHIFT_JIS 下 编 辑 日 语 一 样 容 易.
字 符 解 码 也 意 味 着 作 者 无 需 进 入 一 个 特 定 字 符 集 的 页 面 来 输 入 文 本. 如 果 需 要 作 者 自 行 对 大 型 字 符 集 解 码 是 使 人 厌 烦 和 浪 费 的 (即 使 如 UTF-8 包 括 了 所 有 的 Unicode ).
为 了 允 许 这 个 便 利, 一 致 性 的 用 户 代 理 必 须 正 确 地 对 应 于 [UNICODE] 的 所 有 字 符 的 并 且 识 别 (就 象 目 前 做 到 的 一 样)?任 何 解 码 方 式 ("charsets"). 一 个 建 议 的 对 大 量?的 脚 本 和 语 言 而 言 的 字 符 解 码 方 式 将 在 分 列 的 文 档 中 列 示.
一 个 用 户 代 理 器 是 如 何 知 道 某 个 给 定 文 本 该 怎 样 解 码 的?
在 许 多 情 况 下, 一 个 Web?服 务 器 在 Web 上 发 送 一 份 HTML 文 档, 它 尝 试 指 出 文 档 的 解 码 方 式 (通 过 各 种 技 术, 如 在 文 件 发 送 最 起 先 的 几 个 字 节 时, 对 比 数 据 库 中 已 知 文 件 和 解 码 方 式, 等 等). 服 务 器 通 过 HTTP 的?"Content-Type" 字 段 参 数 向 用 户 代 理 器 传 送 文 档 和 字 符 解 码 方 式 的 名 称. 例 如, 下 面 的 HTTP 头 声 明 了 字 符 解 码 方 式 为 "euc-jp".
Content-Type: text/html; charset=euc-jp在 "charset" 参 数 中 的 值 必 须 是 在 [RFC2045] 中 定 义 的 "charset" 的 名 称.
不 幸 的 是, 并 非 所?有 的 服 务 器 发 送 关 于 字 符 解 码 的 信 息 (甚 至 当 字 符 解 码 方 式 不 是 广 泛 运 用 的 ISO-8859-1 解 码 方 式). HTML 因 此 允 许 作 者 使 用 一 种 在 文 档 头 使 用 META 元 素 来 清 晰 地 告 诉 用 户 代 理 器 运 用 何 种 解 码 方 式 的 途 径. 例 如, 为 了 使?定 当 前 文 档 使 用 "euc-jp" 解 码 方 式, 可 以 包 含 下 面 的 META 声 明:
<META http-equiv="Content-Type" Content="text/html; charset=euc-jp">此 结 构 有 个 要 注 意 的 限 制: 一 个 用 户 代 理 器 无 法 对 未 知 格 式 的 文 档 字 符 集 通 过 解 译 META 元 素 来 判 断 字 符 解 码 方 式. META 声 明 必 须 当 解 码 方 式 在 判 断 META 时 自 身 可 以 被 当 作 ASCII 字 符 标 准 被 识 别 时 才 能 使 用. 在 这 些 情 况 下, 一 致 性 用 户 代 理 器 必 须 正 确 地 解 译 META 元 素.
概 括 来 说, 一 致 性 用 户 代 理 器 必 须 在 判 断 一 个 文 本 的 解 码 方 式 时 注 意 到 下 面 的 属 性 (从 上 至 下):
对 于 某 些 指 定 的 运 用, 如 果 有 必 要 指 定 超 越 注 意: 流 行 的 web 服 务 器 能 够 设 置 关 于 文
档 使 用 何 种 解 码 方 式 的 信 息. Webmasters 应 当 使 用 这 些 灵 巧
性 但 应 当 花 费 心 费 来 适 当 的 配 置 服 务 器.
这 里 是 一 些 例 程:
字符条目
你 的 硬 件 和 软 件 设 置 可 能 不 允 许 你 通 过 简 单 的 输 入 设 机
制 来 指 定 所 有 的 Unicode 字 符, 所 以 SGML 指 定 了 字 符 - 独 立 (encoding-independent)
结 构 来 指 定 文 档 字 符 集 中 的 任 何 字 符.
数 字 字 符 参 照 指 定 了 Unicode 的 整 数 参 考. 一 个?使 用 语 法 符
号 &#D 的 数 字 字 符 参 照; 相 当 于 Unicode 10 进 制 字 符 数 D.
一 个 使 用 语 法 符 号 &#xH 的 数 字 字 符 参 照 ; 相 当 于 Unicode
的 16 进 制 字 符 H. 16 进 制 表 示 法 是 一 种 新 的 SGML 协 定 并 且
是 字 符 标 准 使 用 16 进 制 后 的 一 个 显 著 使 用.
有 四 种 命 名 字 符 条 目 因 为 经 常 被 用 来 "避 免" 特 殊 字 符 而 值 得 提 及: 当 文 字 作 为 元 素 内 容 出 现 时, 你 应 当 用 避 免 使 用 < 而 用 < 来 避 免 可 能 与 标 注 起 始 符 之 间 的 冲 突. 而 & 符 号 应 避 免 为 & 来 避 免 与 字 符 条 目 参 照 起 始 符 的 冲 突.
你 应 当 在 cdata 属 性 允 许 的 条 目 参 照 值 中 避 免 &. 另 外, 你 也 应 当 用 > 来 代 替 > 号, 因 此 可 避 免 老 式 的 用 户 代 理 器 错 当 后 面 的 语 句 这 个 字 符 作 为 引 用 值 时 错 误 地 凭 感 觉 认 为 这 是 一 个 标 注 结 束 符.
与 其 担 心 引 号 的 使 用 法 则, 不 如 把 任 何 的 实 例 " 用 " 代 替 来 得 容 易; 并 且 任 何 真 正 引 用 参 数 值 的 场 合 使 用 ". 许 多 人 们 发 现 在 元 素 内 容 和 属 性 值 中 经 常 避 免 4 个 字 符 要 来 得 简 单.
已 命 名 字 符 条 目 的 名 称 是 大 小 写 有 关 的. 因 此 Å (大 写?A 加 环) 不 同 于 å (小 写 a 加 环) 指 示 的 字 符..