【问题标题】:Different Language In Website网站中的不同语言
【发布时间】:2009-10-09 19:24:45
【问题描述】:

我正在尝试用斯洛伐克语(中欧)编写一个网站。我所做的是将这两个元标记放入标题中:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Content-Language" content="sk" />

问题是所有带有变音符号的字符都被垃圾字符替换(所以我的编码显然不起作用)。怎么办?

这是整个页面的开头:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk">
<head>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="sk" />

【问题讨论】:

    标签: html xhtml localization


    【解决方案1】:

    当您保存文件时,您必须确保它是使用您在元标记中指定的相同编码创建的。

    我建议您使用 utf-8 而不是 iso-8859-2。 unicode 字符集支持几乎所有存在的语言中的所有字符(甚至一些不存在的...)。

    【讨论】:

    • 如果我使用 UTF-8 编码,它可以工作。但是它不能与 iso-8859-2 一起使用吗?iso-8859-2 是一种专门为中欧语言设计的字符编码?
    • @Richard:如果您的计算机本机使用该字符集,您可以将文件另存为 ANSI,这样就可以了。您还可以将 HTML 实体用于所有非 ASCII 字符的字符代码,例如 ö对于 ö 字符。
    【解决方案2】:

    这里有两个问题在起作用。

    1. 语言
    2. 字符编码

    语言

    Content-Language HTTP 标头描述了目标受众的自然语言。这可能与实际编写文档的语言不同。请使用the lang attribute 来描述。

    字符编码

    这允许您表示您希望使用的字母。您需要确保您的文本确实使用了选定的编码,并且通知浏览器这是您正在使用的编码。

    HTTP 标头

    NB:您的问题提到了&lt;meta http-equiv&gt;。真正的 HTTP 标头是指定此信息的更好位置,它们将覆盖您的文档声明的任何内容。确保确保您的服务器配置正确。

    XHTML

    XHTML 让事情变得复杂……

    【讨论】:

    • @大卫。在某些情况下,我的内容协商网站可能会违反您最后的 XHTML 点。你能解释一下为什么这里需要 XML 声明,而 HTTP 标头不足吗?它仅适用于非浏览器 XML 处理器吗?
    • 如果您不使用 UTF-8(或 UTF-16),那么规范需要它。 XML 可以从本地数据存储中保存和访问。尝试调试页面的人可能会查看源代码并假设为 UTF-8/16。
    • 好的,谢谢。 XML 和 XHTML 规范都允许通过“更高级别”协议指定字符编码,因此这里 XHTML 的唯一区别是元 http-equiv 不能用于建立字符编码,因为它不是 XML也不是更高级别的协议。正确的?只要我不需要支持 store-and-inspect 就应该没问题,我想。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多