为什么显示网站编码已经改变"一夜之间"?

时间:2016-03-08 13:43:01

标签: html character-encoding

我有一些使用字符编码运行的旧网站,这可能在某种程度上有问题。但是尽管他们都运行良好我还没有努力改变它。然而,从昨晚开始突然编码问题在这些页面上变得明显(这意味着所有以前显示正常的有问题的字符现在被"?" -symbols取代)。我用最新版本的IE,FF和Chrome测试了这个。

由于我没有对HTML或其他网站资源进行任何更改,我很好奇在显示我的网站时是什么引发了这些变化?

可能有帮助的更多信息:

- 我为这些网站使用共享虚拟主机。即使我没有找到通知,但目前我认为主持人做出的改变可能是一个可能的原因,即使我不确定哪种改变会导致上述影响。

- 上述更改仅发生在在线版本中,而不是在我的本地版本(在不同配置的网络服务器上运行)中,该版本包含相同的Webcode(因此本地仍然看起来像#34;罚款"方式像之前一样)。但是,由于我经常访问实时和本地版本,我无法将现有的差异归结为缓存问题。

- 网站显示的文字在" .php"中的HTML / PHP代码中进行了硬编码。以ANSI格式保存的文件。我只是告诉这个以便更好地理解问题是什么(虽然我不是在寻求如何修复我的编码的提示......)。定义部分如下:

<!DOCTYPE html>
<html>
<head>
<title>some title</title>
<meta charset="iso-8859-1">

1 个答案:

答案 0 :(得分:1)

在黑暗中刺:您的共享主机已更新其服务器/配置,您的网页现在使用默认的HTTP Content-Type标头提供,声明页面的编码为UTF-8。由于您显然没有自己设置任何更具体的标题,浏览器现在会错误解释页面内容。

配置Web服务器以设置正确的Content-Type标头(可能在.htaccess文件中有一些指令,向您的主机询问)或在PHP中通过header()调用进行。

请参阅Handling Unicode Front To Back In A Web AppUTF-8 all the way through