我正在尝试用斯洛伐克语(中欧)写一个网站。我所做的是将这两个元标记放入标题中:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Content-Language" content="sk" />
问题是所有带有diacritique的字符都被替换为乱码(因此编码我显然不起作用)。怎么办?
这是整个页面的开头:
<!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" />
答案 0 :(得分:5)
这里有两个问题在起作用。
<强>语言强>
Content-Language HTTP标头描述了目标受众的自然语言。这可能与文档实际编写的语言不同。使用the lang attribute来描述。
字符编码
这允许您表示您希望使用的字母。您需要确保您的文本确实使用了所选的编码,并且浏览器会被告知这是您正在使用的编码。
HTTP标头
NB :您的问题提及<meta http-equiv>
。真正的HTTP标头是指定此信息的更好位置,它们将覆盖您的文档声明的任何内容。确保确定您的服务器配置正确。
<强> XHTML 强>
XHTML使问题变得复杂......
答案 1 :(得分:5)
保存文件时,您必须确保使用您在元标记中指定的相同编码创建文件。
我建议您使用utf-8而不是iso-8859-2。 unicode字符集几乎支持所有存在的语言中的所有字符(甚至一些不存在......)。