浏览器显示UTF-8而不是windows-1251编码的页面

4
我有一个网站,它只包含html,并且有很多西里尔文符号。浏览器设置了UTF-8编码,而不是应该使用的Windows-1251编码。因此,英文字母显示正常,但每个西里尔文符号都像这样:����。
以下是我的设置: RHEL 6.3(2.6.32-279.el6.x86_64) Apache/2.2.15(Unix)
以下是我的.htaccess文件:
Options +Includes 
AddDefaultCharset WINDOWS-1251

页面的第一行:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Company name, etc</title>
<meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1251">

pastebinphpfiddle(如果您无法访问pastebin)上的示例页面。

所以,字符集已经设置好了,如果我手动将浏览器中的编码更改为windows-1251,它会正常显示,但是自动检测会设置utf-8,我不知道为什么。
如果有帮助的话 - 网站之前托管在Sun OS 5.10上。

感谢任何帮助。


在jsfiddle上分享完整的代码 - saman khademi
1
也许这个回答可以解决你的问题?https://dev59.com/BXNA5IYBdhLWcg3wjOve - Qben
为什么你不使用ISO-8859-1编码?俄罗斯人也在使用它! - saman khademi
这个网站不是我写的,所以现在的问题是如何利用我手头的资源把它弄好。 - Alexander
@samankhademi 俄罗斯人不使用IO-8859-1 Aleksander:所有浏览器都会发生这种情况吗?HTTP头是什么?服务器到客户端的原始数据流是什么? - Karol S
显示剩余6条评论
1个回答

3

我在httpd.conf注释掉了以下行,重新启动httpd,现在一切都正确显示:

AddDefaultCharset utf-8

除了修改 httpd.conf,还有其他的方法吗? - user2513149
@AndrewBest 我不能说。 - Alexander
1
谢谢回答。我遭受了同样的问题很长一段时间。想知道是谁想到把这个设置留在httpd中未被注释。 - John Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接