Сервер работает под управлением 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-Equiv. Оба приложения используют utf-8.
Эта проблема заключается в том, что копия приложения обычно не отображает символы, отличные от ASCII, в браузере, даже если браузер правильно определяет кодировку UTF-8 страницы. Сначала я подумал, что это проблема с базой данных, учитывая тот факт, что MSSQL 2000 не поддерживает UTF-8, а вместо этого использует UCS-2, но когда я перенаправил приложение на appserv2
работать с базой данных на dbserv1
, у него были те же проблемы с кодировкой.
Вот почему я спрашиваю, как я могу заставить его работать.
Спасибо за чтение.
Спасибо, ребята, разобрался (попробовал все, что мог). Проблема заключалась в региональных настройках сервера, кодовой странице, используемой для программ, отличных от Unicode (черт возьми, я думал, что сервер работает с байтовыми потоками, и они преобразуются в символы на стороне клиента, но, похоже, это еще не все) .