针对个别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管理器,找到对应的站点,如图:

1.jpg

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

1.jpg

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

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

如图:1.jpg

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

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

<?php

后面加上

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

变成

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

也可以解决问题。

posted @ 2017-12-15 21:43  程序员修练之路  阅读(414)  评论(0编辑  收藏  举报