我在我的网站上使用法语和英语。我有两个链接,如“Française| English”,当用户选择“Française”时,我将以下内容放入标题
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<meta content="fr" http-equiv="Content-Language">
当用户选择“英语”时,我在标题中放置以下内容以显示各自的语言
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="en" http-equiv="Content-Language">
问题是当我从法语切换到英语时,链接“Française| English”变得像“Fran aise| English”。我做错了什么?有什么建议吗?
由于
答案 0 :(得分:2)
听起来您仍然使用UTF-8(现代标准编码文本)而不使用ISO-8859-1(用于编码您不应再使用的文本的传统标准)用于法语文档。
由于您声称使用的是ISO-8859-1,因此浏览器会尝试将文档解释为使用该编码并获取一些不可打印的字符。解决方案是在任何地方声称UTF-8 。
由于UTF-8包含ISO-8859-1中的所有内容(以及更多内容),因此无论如何都无法进行更改。
另外,Content-Language仅指定文档的目标受众。要指定文档真正用法语编写,您应该:
<html lang="fr">
然后你应该指定链接使用不同的语言,并指向不同语言的同一文档的替代版本:
<ul>
<li><a href="/fr/" lang="fr" hreflang="fr" rel="alternate">Française</a></li>
<li><a href="/en/" lang="en" hreflang="en" rel="alternate">English</a></li>
</ul>
答案 1 :(得分:1)
语言属性告诉搜索引擎网站编写的自然语言(例如英语,西班牙语或法语http://www.nowgoal.com/),而不是编码语言(例如HTML)。它通常是语言名称的IETF语言标记。当网站以多种语言编写并且可以包含在每个页面上以告诉搜索引擎使用哪种语言编写特定页面时,它最常用。
答案 2 :(得分:0)
对两种语言使用charset = utf-8,并确保源文件为UTF-8。
答案 3 :(得分:0)
UTF-8是您应该使用的唯一编码,它是唯一特别鼓励在HTML5中使用的编码。如果需要,UTF-8可以在相同的编码中支持任何人类语言的组合(例如,包括一些印地语和中文字符的德语文档等),而对于几乎所有其他编码(在存储器/处理时是设计的),情况也是如此。在较短的供应,如ISO-8859-1)。
确保文本编辑器以UTF-8 Unicode(不是UTF-16等)保存,如果没有,请确保您使用的唯一字符是基于ASCII的,并使用数字字符引用,实体,或JavaScript / CSS Unicode转义序列需要表示非ASCII字符。但是现在任何体面的编辑都应该支持UTF-8。