Php IIS 8.5上转换为拉丁字符集的URL中的转义百分比
迁移到新的Windows IIS 8.5服务器后,请求不会作为UTF-8字符传递,而是作为单字节拉丁字符传递 为了在WordPress和Joomla安装中使用美观或SEO友好的URL,需要UTF-8字符 从PHP中,Php IIS 8.5上转换为拉丁字符集的URL中的转义百分比,php,wordpress,iis,joomla,utf-8,Php,Wordpress,Iis,Joomla,Utf 8,迁移到新的Windows IIS 8.5服务器后,请求不会作为UTF-8字符传递,而是作为单字节拉丁字符传递 为了在WordPress和Joomla安装中使用美观或SEO友好的URL,需要UTF-8字符 从PHP中,$\u服务器['REQUEST\u URI']如下所示 / p r e s s e / p r ø v e s i d e 2f7072657373652f7072 f8 766573696465 在web服务器根目录中的web.config文件中 <?xml versi
$\u服务器['REQUEST\u URI']
如下所示
/ p r e s s e / p r ø v e s i d e
2f7072657373652f7072 f8 766573696465
在web服务器根目录中的web.config文件中
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="aspnet:UseLegacyRequestUrlGeneration" value="true" />
</appSettings>
<system.web>
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="da-DK"
uiCulture="da-DK" />
</system.web>
<system.webServer>
...
<system.webServer>
<configuration>
...
将以下更改应用于注册表修复了该问题
reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters /v FastCGIUtf8ServerVariables /t REG_MULTI_SZ /d REQUEST_URI\0PATH_INFO
似乎来自IIS 7.5的Microsoft热修复程序已应用到IIS 8.5中
在应用注册表更改之后,$\u服务器['REQUEST\u URI']在PHP中看起来像这样
/ p r e s s e / p r à ¸ v e s i d e
2f7072657373652f7072 c3b8 766573696465
字节C3
B8
是丹麦字母“ø”