6

我在某些 HTML 页面中遇到字符编码问题。看来问题的原因是某些 .html 文件没有保存为 UTF-8 编码文件。尽管我已指示 Eclipse 将这些文件保存为 UTF-8,但当我在浏览器中打开它们时,它表明这些文件是 ISO-8859-1。

如何将这些文件的编码更改为 UTF-8?

更新:我已经在每个网页的部分中包含以下内容

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

我正在使用 Apache Web 服务器。

谢谢, 多纳尔

4

6 回答 6

7

您可能需要更改 Web 服务器向客户端发送的内容类型标头。

编辑:虽然这确实适用于这种特殊情况,但在其他情况下使用工具来更改其他海报所建议的文件编码可能是更好的解决方案。YMMV。


在 Eclipse 中保存为 UTF-8 的说明(我意识到您已经拥有):

您可能应该更改工作区中 HTML 文档的默认编码。

这适用于 Eclipse 3.4。如果您有不同的版本,这可能会略有不同。

转到窗口->首选项
在首选项窗口中转到常规->内容类型
此时,您可以为首选项窗口底部附近的文件指定“默认编码”。展开“文本”并选择 HTML。在“默认编码”条目中,输入 UTF-8。然后点击右侧的“更新”。

此后,所有 HTML 文件都应以 UTF-8 格式保存。

于 2009-02-12T19:39:22.747 回答
4

UTF-8 的问题在于这些文件的开头没有神奇的字节序列 - 浏览器检测 UTF-8 的唯一机会是通过 XML 声明、HTML 元标记或一些启发式方法作为后备。

确保在 HTML 的标头中有 XML 编码声明或一些 HTML 元标记。

<?xml version="1.0" encoding="utf-8"?>

如果是 XHTML,则在 DOCTYPE 下方,或者

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

在头部。

于 2009-02-12T19:02:35.830 回答
3

您可以使用iconv将文件从一种字符编码转换为另一种。

于 2009-02-12T19:03:27.700 回答
1

尝试添加

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

到您的 html 文件的 head 部分,或确保您的服务器使用 Content-Type http 标头提供文件。如果没有这些,浏览器只能猜测字符编码。

于 2009-02-12T19:03:52.940 回答
1

在 Eclipse 3.7 中,转到:

Windows > 首选项 > 常规 > 工作区

在“文本文件编码”下设置您需要的文件编码。

于 2012-02-14T11:16:53.167 回答
0

据我所知,在 Eclipse 中设置字符编码实际上并不转换文件——它只是告诉 Eclipse 你希望如何解释它们。最好的办法是使用 Adam 建议的转换器工具。

于 2009-02-12T20:00:05.257 回答