服务器系统由2003换成2016后,出现一个问题,IIS的404页面乱码,提示:鏃犳硶鏄剧ず椤甸潰锛屽洜涓哄彂鐢熷唴閮ㄦ湇鍔″櫒閿欒銆�
而不是正常的错误页面。
查了很多资料,想了很多办法,但所有的方法都完全没用。
看提示就可以知道,这是网页编码的问题,网页的编码为utf-8,看了看404网页代码,编码为:gb2312
于是,修改页面代码:
将
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
修改为:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
保存,刷新某个不存在的页面,依然提示:鏃犳硶鏄剧ず椤甸潰锛屽洜涓哄彂鐢熷唴閮ㄦ湇鍔″櫒閿欒銆�
看来只修改代码没用,还得把网页另存为utf-8编码。
用EmEditor打开404页面,文件-以指定编码全部保存,编码选择utf-8有签名。
刷新页面,依然没有解决,怀疑是服务器或IIS缓存的问题,于是在网站根目录建立error文件夹,将修改好的文件复制进去。
打开IIS,设置网站的错误页面,选择“在此网站上执行”,URL填相对路径:/error/,如下图:
确定,刷新那个不存在的页面,熟悉的页面又回来了。
希望能给有同样困扰的同学有点帮助。