针对个别utf8编码站点在iis7上浏览器编码不能自动识别的解决方法

Posted 程序员修练之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对个别utf8编码站点在iis7上浏览器编码不能自动识别的解决方法相关的知识,希望对你有一定的参考价值。

个别utf8编码站点在iis7上客户端浏览器编码不能自动识别的编号,输入仍为gbk2312,而不是utf-8,这样导致我们看到的网站为乱码。

    要解决这个问题,有两个方法,一为打开网站以后,右键,选择编码,然后选择utf-8,这样网站就显示正常了。当然这个法对于站长来说行不通,我们的网站是给人看的,没有人看网站会想到或是会去将客户端浏览器去手动改编码。

    所以我们只能是选用第二个方法:

在站点根目录下面创建一个web.config文件,放入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Content-Type" value="text/html; charset=utf-8" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

如果web.config已经存在,那么在

<system.webServer>

</system.webServer>之间放到以以代码

        <httpProtocol>
            <customHeaders>
                <add name="Content-Type" value="text/html; charset=utf-8" />
            </customHeaders>
        </httpProtocol>

 

 

或是直接打开IIS操作处理。

首页打开IIS管理器,找到对应的站点,如图:

技术分享图片

然选择HTTP响应标头,双击后如图:

技术分享图片

添加一个http响应标头,让客户端浏览器强制输出为utf-8编码,http响应标头内容为:Content-Type:text/html;charset=utf-8

即名称为Content-Type,值为text/html;charset=utf-8

如图:技术分享图片

这样就完美解决了客户端浏览器仍然输入utf-8网站编码为gbk2312编码的问题。

如果编码在iphone里面还是显示乱码,可以直接在代码最开始定义编码,比如php程序,在

<?php

后面加上

header("Content-type: text/html; charset=utf-8");

变成

<?php
header("Content-type: text/html; charset=utf-8");

也可以解决问题。















以上是关于针对个别utf8编码站点在iis7上浏览器编码不能自动识别的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

如果服务器不能把编码格式改成UTF8怎么办?(20161113)

常见编码格式

一台电脑的所有浏览器针对个别网站无法运行javascript

浏览器支持 URL 中的 UTF8 编码字符

小问题总结

如何将4字节utf-8的emoji表情转换为unicode字符编码