不支持特殊字符

时间:2009-11-13 11:27:27

标签: html character-encoding

我在Firefox和IE中显示像',é这样的特殊字符时遇到问题。但是本地服务器支持这些字符。

我使用了以下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

任何人都可以建议我可能是什么?提前谢谢。

5 个答案:

答案 0 :(得分:2)

您已将字符集设置为iso-8859-1 - 您确定它们是如何在HTML中编码的吗?

在Firefox中,尝试使用View - &gt;更改字符集。字符编码(对于您的页面,它应该选择“Western(ISO-8859-1)”),并查看它是否适用于其他字符编码。如果是,请考虑将您的HTML重新编码为UTF-8,或更改charset代码中的meta

答案 1 :(得分:1)

正如Dominic所说,检查你是否在元标记中使用正确的字符集对HTML进行编码将是第一步。有关字符集和编码here的信息。是否需要更改charset元标记取决于页面所在的语言。如果您的页面是英文但只有奇数字符需要重音等,最简单的方法是使用字符代码,例如字符é的代码是&amp; eacute;可以在here找到其中一个在线可用的字符实体列表。

或者,如果您的页面基本上是英文,但是其他语言的小部分,则CSS2具有lang属性,可用于适当地设置其他语言的文本样式。有关应用语言样式here的四种不同方法的更多信息。您可以使用:lang()伪类选择器,与[lang |= "..."]选择器匹配的语言属性值的开头,[lang = "..."]选择器与语言属性的值完全匹配,或通用类或id选择器。

如果您网站的一小部分使用其他语言(如希伯来语),您还可以使用CSS和跨度来表示文本阅读方向的更改,例如:

<p style="direction: rtl; unicode-bidi: embed;">
This is a paragraph written right-to-left.
</p>

<p>
This paragraph is written left-to-right except for <span style="direction: rtl; unicode-bidi: bidi-override;">these words</span> which were written right-to-left.
</p>

这些示例(取自here)显示内联应用的样式,但您也可以在外部样式表中设置样式。)

答案 2 :(得分:0)

您已在文档的元标记中设置了字符集,该标记在您将其作为文件查看时有效,但如果网络服务器提供字符集值that takes priority。检查Web服务器提供的HTTP标头;一种方法是使用Firefox扩展Live HTTP Headers。如果它有所不同,您必须告诉Web服务器您正在做什么,或者重新编码文档以匹配。

如何设置编码因Web服务器而异。例如,Apache允许您在.htaccess中全局,每个文件指定字符集,或者将文件重命名为example.html.latin1

答案 3 :(得分:0)

使用&aacute;&#225;等HTML实体,浏览器应对其进行排序。

这是一个清单:

http://www.utexas.edu/learn/html/spchar.html

答案 4 :(得分:0)

将您的编码元标记更改为:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />