【问题标题】:French accents in meta tag's content元标记内容中的法语口音
【发布时间】:2012-10-03 13:54:00
【问题描述】:

我在元标记的内容部分有法语口音。示例:

<meta name="description" content="à Québec référence" />

当我查看页面源时,我得到:

<meta name="description" content="à Québec référence" />

我尝试过使用&amp;agrave; Qu&amp;eacute;bec r&amp;eacute;f&amp;eacute;rence,但这就是它在内容部分的显示方式。

我正在使用 &lt;meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /&gt; 我认为如果不弄乱我项目中其他地方的数千个字符,这种情况就无法改变。

如何让它看起来像第一个示例,是否有 php 函数可以使用?谢谢。

另外解释一下为什么它会被翻译成“Ã Québec référence”会很好。

更新

我想出了一个解决办法。 Aptana Studio 和 Notepad++ 等程序以一种奇怪的方式保存字符。我用记事本编辑它并保存它,这似乎解决了问题。感谢您的所有快速回复。非常感激。 :)

【问题讨论】:

  • 你设置了 UTF-8 编码吗?
  • @jtheman 不,我使用的是 iso-8859-1,除非我想更改数千行代码,否则我无法更改。

标签: php html meta-tags non-ascii-characters


【解决方案1】:

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

在你的 HEAD 标签之间 您还可以在 linux 下使用 'iconv' 来更改文件编码。 (推荐)

【讨论】:

  • 我已经更新了我的问题。我不认为我可以将字符集更改为 UTF8 而不会弄乱项目中的其他字符。
  • 好吧,我只是亲自尝试从 ISO 切换到 UTF-8,它成功了。我建议试一试
  • 更改它会导致我不得不重写项目中的数千个其他字符,可能还有很多数据库条目。
  • 试试看?如果 utf-8 混淆了页面中的其他字符,只需回滚到 ISO 并尝试其他建议,例如更改文件编码。
  • iconv -f old-encoding -t new-encoding file.txt &gt; newfile.txt
【解决方案2】:

您需要以正确的形式对文件进行编码,下载notepad++并切换到正确的法语编码。

【讨论】:

  • 看到 OP 的更新建议使用其他语言,然后尝试:同上 BeQi 的此建议,但使用编码 utf-8。
  • 这实际上是可行的。直到现在才看到。
【解决方案3】:

您的文档编码不正确或标题错误。

我建议:

  • 您检查您的编辑器是否制作了 UTF-8(无 BOM)文档
  • HTML 文件中的标题:您应该有&lt;meta charset="UTF8" /&gt;
  • 如果前两点不够,请配置服务器

Here's the w3.org tutorial on this topic.

如果您确实无法更改字符集,请确保meta 标记中指定的字符集是文件之一。短期内,在您的标题中包含此内容可能会解决您的问题:

&lt;meta charset="ISO-8859-1" /&gt;

【讨论】:

  • 我已经更新了我的问题。我不认为我可以将字符集更改为 UTF8 而不会弄乱项目中的其他字符。
  • 如果实在无法更改字符集,请确保元标记中指定的字符集是文件的字符集。
  • 在本世纪不使用 UTF-8 几乎常常是一个代价高昂的错误,会导致许多问题。 something to read.
  • 是的,这个网站不是我公司创建的,我们将来会尽量减少代码库。目前,我们正在尝试在应用程序运行时进行快速错误修复,并将在以后重写大部分代码。我试过添加 但没有运气。
  • 在不同的文件中提取您的部分代码,并将该文件包含在大文件中,并为您自己的文件使用 utf-8 编码。
【解决方案4】:

如果要更新,在html5中必须使用 这个

<meta charset="UTF-8">

法语口音;)

【讨论】:

  • 是的,我知道,但这是由另一家公司构建的项目,如果我更改字符集,它将迫使我更改数千行。
【解决方案5】:

如果内容来自mysql数据库。通过查询"SET NAMES 'utf8'"使用utf 8连接

有时会因为编辑器的文件编码(假定为 UTF-8)而发生。

【讨论】:

    猜你喜欢
    • 2011-05-24
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多