PHP 和 IIS 6 编码问题

PHP 和 IIS 6 编码问题

服务器运行的是 Windows 2003,带有 IIS 6.0.3790.1830 x86 (iis.dll)。我的数据库服务器是 Microsoft SQL Server 2000。我的 PHP 版本是 5.3。

原来的应用程序托管在 上appserv1,其数据库位于 上dbserv1。它运行良好,一切都已调整好,运行良好。

需要将相同的应用程序(不同的模块)放在另一台服务器上,以供其他用途,因此我将数据库复制到dbserv2配置appserv2为托管应用程序的服务器上,因此我获得了 2 个几乎相同的副本。dbserv1和都dbserv2使用相同的编码, 和appserv1appserv2在 IIS6 上,具有相同的 PHP 配置。 我也尽力在 IIS 中使用相同的设置。 我还确保在 HTTP 标头和带有 http-equiv 的元标记中传递编码信息。 两个应用程序都使用 utf-8。

问题问题是,即使浏览器正确检测到页面的 UTF-8 编码,应用程序副本也无法在浏览器中正常显示非 ASCII 字符。起初,我以为是数据库问题,因为 MSSQL 2000 不支持 UTF-8,而是使用 UCS-2,但当我将应用程序重定向到 以使用 上的appserv2数据库时dbserv1,它遇到了同样的编码问题。

这就是为什么我要问以什么方式才能使它发挥作用。

感谢您的阅读。

答案1

谢谢大家,我找到了答案(我试了所有我能试的方法)。问题出在服务器的区域设置,即非 Unicode 程序使用的代码页(该死,我以为服务器使用字节流,并在客户端将其转换为字符,但似乎还有更多问题)。

相关内容