Проблема кодирования в 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 использовать одну и ту же кодировку, оба appserv1 а также appserv2 находятся на IIS6 с теми же конфигурациями PHP. Я также старался изо всех сил иметь те же настройки в IIS. Я также удостоверился, что передаю информацию о кодировке как в заголовках HTTP, так и в метатегах с помощью http-эквивалент. Оба приложения используют utf-8.

Проблема заключается в том, что копия приложения не отображает символы, не входящие в ASCII, обычно в браузере, даже если браузер правильно определяет кодировку страницы в кодировке UTF-8. Сначала я подумал, что это проблема с базой данных, учитывая тот факт, что MSSQL 2000 не поддерживает UTF-8, а вместо этого использует UCS-2, но когда я перенаправил приложение на appserv2 работать с базой данных на dbserv1, у него были те же проблемы кодирования.

Вот почему я спрашиваю, как я могу заставить это работать.

Спасибо за чтение.

1 ответ

Решение

Спасибо, ребята, я понял это (попробовав все, что мог). Проблема была в региональных настройках сервера, кодовой странице, используемой для не-Unicode-программ (чёрт, я думал, что сервер работает с байтовыми потоками, и они преобразуются в символы на стороне клиента, но, похоже, это ещё не всё),

Другие вопросы по тегам