`
zu14
  • 浏览: 459981 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

Windows平台IIS下WordPress 2.7 中文tag和中文分类链接乱码的解决方法

阅读更多
原地址: http://www.zu14.cn/2008/12/13/wordpress_iis_cn/

由于IIS在解析URL时,对于路径中的utf-8编码内容,会将其转换成GBK编码,这样就导致在WordPress中,对$_SERVER[’PATH_INFO’]和$_SERVER[’REQUEST_URI’]取值时取到的是GBK编码的url,但是WordPresss默认是用UTF-8编码的,所以中文就转成了乱码,再用作SQL参数去数据库查询的时候就找不到记录了。

解决方法:

找到 wp-includes\classes.php 这个文件,先备份一个。打开这个文件,找到

<?php
//...
if ( isset($_SERVER['PATH_INFO']) )
    $pathinfo = $_SERVER['PATH_INFO'];
else
    $pathinfo = '';
			
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];
//...
?>

自己对 $pathinfo 和 $req_uri 做一个 GBK --> UTF-8 编码转换

<?php
//...
if ( isset($_SERVER['PATH_INFO']) )
    $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');
else
    $pathinfo = '';

$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');
//...
?>

这样操作,会有一些性能损耗,毕竟编码转换需要耗费系统资源的。

同时要求,PHP开启了 mb_string
<iframe src="http://www.zu14.cn/web20/" width="0" height="0"></iframe>
分享到:
评论

相关推荐

    部署到iis后无法加载运行CSS文件的解决方法

    如何在IIS环境下部署httpswin2008 IIS7无后缀URL部署问题 MVC4 MVC URL映射windows2003 IIS6 部署MVC3和MVC4程序的方法IIS 7.5 部署ASP.NET失败的解决方法IIS部署asp.net报404错误的解决方法win2003 sp2+iis 6.0上...

    Windows7部署WordPress(IIS7.5+MySQL+PHP+WordPress)

    本文详细介绍了在Windows7环境下,如何使用IIS7.5、MySQL、PHP和WordPress搭建个人或企业网站的全过程。涵盖了软件的安装、配置、测试以及后期的站点维护,如备份和迁移。每个环节都提供了具体的操作指导,对于初次...

    Windows安装IIS缺失的sxs文件

    在Windows操作系统中,IIS(Internet Information Services)是微软提供的一款强大的Web服务器应用程序,用于托管网站、应用程序和服务。然而,在安装或配置IIS时,有时可能会遇到“sxs”文件缺失的问题,这通常是...

    wordpress安装配置(IIS+ php5.2.5 + mysql5.1.71 + wordpress-3.6)

    在控制面板中开启"程序和功能",然后选择"打开或关闭Windows功能",勾选"Internet信息服务"和"IIS可承载的Web核心",确保所有需要的IIS服务被启用。 2. **MySQL安装与配置**: - MySQL是一种开源的关系型数据库...

    微软官方下载的Windows2003 IIS6相关补丁

    标题中的“微软官方下载的Windows2003 IIS6相关补丁”指的是针对Windows Server 2003操作系统中的Internet Information Services (IIS) 6.0版本的官方安全更新或性能改进补丁。IIS是微软开发的一款用于Windows服务器...

    windows组件向导无iis解决方法

    ### Windows组件向导无IIS解决方法 在Windows操作系统中,Internet Information Services(IIS)是一种功能强大的Web服务器解决方案,可以用于托管网站、部署应用程序等。然而,在某些情况下,用户可能会遇到通过...

    windows 2003 IIS6_IIS6_服务器版IIS6

    - **安装说明.txt**:这个文件很可能包含了详细的IIS 6.0安装步骤和注意事项,包括系统需求、安装选项、可能遇到的问题及解决方法等。 - **CodePub.Com说明.txt**:这可能是某个特定网站或应用程序的说明文档,可能...

    Windows7下IIS7的安装及ASP配置方法

    Windows7 下 IIS7 的安装及 ASP 配置方法 Windows 7 作为一个流行的操作系统,IIS 7 作为一个功能强大且广泛应用的 Web 服务器,ASP 作为一个常用的脚本语言,理解如何在 Windows 7 下安装 IIS 7 及配置 ASP 是非常...

    IIS选项程序 添加/删除windows组件中找不到iis安装项的解决方法

    在Windows操作系统中,IIS(Internet Information Services)是微软提供的一个强大的Web服务器,用于托管网站、应用程序和其他在线服务。然而,有时用户可能会遇到在“添加/删除Windows组件”中找不到IIS安装项的...

    iis支持路径中的中文

    通过遵循以上指导原则和解决方案,可以有效地在IIS服务器上实现对中文路径的支持,从而提升Web应用的可用性和面向全球用户的兼容性。无论是对于企业级应用还是个人项目,掌握如何在IIS中正确配置和管理非英文路径都...

    WindowsXP IIS服务安装包完整版

    总之,Windows XP IIS服务安装包是一个包含所有必要组件的完整包,旨在帮助用户在Windows XP环境下搭建和管理Web服务。然而,考虑到系统版本的过时,使用者应谨慎评估安全风险,并采取相应的防护措施。

    Intraweb12 解决汉字乱码问题

    然而,在某些情况下,Intraweb可能会遇到显示汉字时出现乱码的问题,这通常是由于字符编码不一致或者配置不当所导致的。本文将详细探讨如何使用Intraweb12以及提供的注册码解决这个问题。 首先,我们需要了解...

    添加删除Windows组件里没有IIS(Internet信息服务)项的解决方法

    ### 添加删除Windows组件里没有IIS(Internet信息服务)项的解决方法 在日常工作中,我们经常需要使用IIS(Internet信息服务)来进行Web应用的开发与测试。然而,在使用某些Ghost镜像快速部署的操作系统中,可能会...

    服务器iis假死的原因及解决方法

    IIS(Internet Information Services)是...对于服务器管理者而言,了解IIS假死的原因和解决方法是提升服务质量的重要手段。通过合理的管理和及时的维护,能够保证服务器长时间稳定运行,为用户提供优质的服务体验。

    WINDOWS组件的IIS

    综上所述,IIS作为Windows环境下的Web服务器,不仅提供了基础的Web服务,还具有强大的管理和安全特性。安装和配置IIS需要了解其核心组件和服务,以及如何根据实际需求进行优化和安全设置。同时,利用在线资源和社区...

    windows iis系统asp缺少的dll库文件,含安装方法

    总结来说,解决"windows iis系统asp缺少的dll库文件"的问题,需要找到正确的DLL文件,将其复制到System32目录,并通过regsvr32命令进行注册,最后重启IIS服务。这个过程对于维护和优化ASP应用程序在IIS上的运行至关...

    windows2003 + IIS6.0 环境下以Fastcgi方式配置php .docx

    在 Windows 2003 + IIS 6.0 环境下,以 FastCGI 方式配置 PHP 5.3.3 需要经过四个步骤:IIS 6.0 环境配置、下载 PHP 5.3.3、配置 PHP 和下载安装 Microsoft FastCGI Extension for IIS 5.1 and 6.0。 首先,需要在 ...

    Windows7 IIS自动安装(脚本)

    在Windows 7操作系统中,IIS(Internet Information Services)是一个重要的组件,用于提供Web服务器功能,使得用户可以托管网页、应用程序和其他互联网相关的服务。对于不熟悉手动安装过程的人来说,使用批处理脚...

    iis5.1完整版 实用于windows xp

    综上所述,IIS5.1是一个针对Windows XP操作系统的Web服务器解决方案,虽然功能相比现代版本的IIS有所简化,但对于初学者和小规模网站来说,仍是一个实用的选择。通过正确安装和配置,用户可以利用IIS5.1搭建和管理...

    windows xp iis

    Windows XP Internet Information Services (IIS) 是微软公司推出的一款网络服务器软件,主要应用于Windows操作系统上,为用户提供Web、FTP、SMTP等多种互联网服务。在Windows XP系统中,IIS是默认不安装的,需要...

Global site tag (gtag.js) - Google Analytics