更改文件编码

问题描述 投票:0回答: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 服务器。

谢谢, 多纳尔

internationalization character-encoding
6个回答
7
投票
您可能需要更改 Web 服务器发送给客户端的内容类型标头。

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


在 Eclipse 中保存为 UTF-8 的说明(我知道你已经有了):

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

这是针对 Eclipse 3.4 的。 如果您有不同的版本,这可能会略有不同。

转到窗口->首选项

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

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


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">
在头部。



1
投票
尝试添加

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

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


1
投票
在 Eclipse 3.7 中,转到:

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

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


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

© www.soinside.com 2019 - 2024. All rights reserved.