我在某些HTML网页上有a problem字符编码。似乎问题的原因是某些.html文件未保存为UTF-8编码文件。即使我已经指示Eclipse将这些文件保存为UTF-8,但当我在浏览器中打开它们时,它表明这些文件是ISO-8859-1。
如何将这些文件的编码更改为UTF-8?
更新:我已在每个网页的部分中包含以下内容
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
我正在使用Apache Web服务器。
谢谢, 敦尔
答案 0 :(得分:7)
您可能需要更改Web服务器发送客户端的内容类型标题。
编辑:虽然这确实适用于这种特殊情况,但是在其他情况下使用工具来更改其他海报建议的文件编码可能是更好的解决方案。 YMMV。
在Eclipse中保存为UTF-8的说明(我意识到你已经拥有):
您应该更改HTML文档的工作区中的默认编码。
这适用于Eclipse 3.4。如果你有不同的版本,可能会略有不同。
转到窗口 - &gt;偏好设置
在“首选项”窗口中,转到“常规” - >“内容类型”
此时,您可以为首选项窗口底部附近的文件指定“默认编码”。展开“文字”并选择HTML。在“默认编码”条目中,输入UTF-8。然后点击右侧的“更新”。
此后,所有HTML文件都应以UTF-8格式保存。
答案 1 :(得分:4)
UTF-8的问题在于这些文件的开头没有魔术字节序列 - 浏览器唯一可以通过XML声明,HTML元标记或某些启发式作为后备来检测UTF-8。
确保HTML标题中包含XML编码声明或某些HTML元标记。
<?xml version="1.0" encoding="utf-8"?>
如果它是XHTML,那么就在DOCTYPE之下,或
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
在头部。
答案 2 :(得分:3)
您可以使用iconv将文件从一种字符编码转换为另一种字符编码。
答案 3 :(得分:1)
尝试添加
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
到html文件的head部分,或者确保您的服务器正在使用Content-Type http标头提供文件。如果没有这些,浏览器只能猜测字符编码。
答案 4 :(得分:1)
在Eclipse 3.7中,转到:
Windows&gt;偏好&gt;一般&gt;工作区
在“文本文件编码”下,设置所需的文件编码。
答案 5 :(得分:0)
据我所知,在Eclipse中设置字符编码实际上并没有转换文件 - 它只是告诉Eclipse你想要如何解释它们。您最好的选择是使用转换器工具,例如Adam建议的工具。