Изменить язык по умолчанию в IIS 6.0
-
03-07-2019 - |
Вопрос
У меня есть VPS, размещенный в британской хостинговой компании, который по каким-то причинам настроен на настройки США. Фактически, до недавнего времени региональные настройки были «английский - США». Я исправил региональные настройки, но мое приложение все еще работает с неправильным форматом даты. См:
http://www.albaassoc.com/events/listevents.aspx р>
Даты по умолчанию должны быть от текущей даты до даты + 3 месяца, но, как вы можете видеть, поля dd и MM поменялись местами. Примечание. Расширитель календаря AJAX вручную установлен на dd / MM / yyyy, поэтому публикация календаря считает, что нас интересует июнь / июль, а не январь!
Я знаю, что существуют разные способы настройки страницы или приложения для использования определенного языка, но я бы предпочел использовать глобальный подход.
Можно ли перенастроить IIS для работы в другой локали или, если нет, можно ли настроить файл machine.config так, чтобы это было разовое изменение?
У меня есть открытый билет с хостом, но я не собираюсь затаить дыхание - они не захотят переустанавливать IIS ...
Заранее спасибо.
Решение
С помощью элемента глобализации вы можете установить культуру и uiculture для сайта (через web.config) или всей машины (через machine.config).
Другие советы
Я только что получил похожую проблему (Windows Server 2008, IIS 7). Я смог исправить это, отредактировав файл веб-конфигурации, но, как и вы, я хотел глобального исправления.
Решение в конфиге панели региональных настроек. Я не знаю для вас (какая у вас ОС), но под WS2008 есть административная вкладка под региональными настройками. Позволяет скопировать настройки вашего вошедшего в систему пользователя (вас) в административные учетные записи (в данном случае, в сетевые службы). Перезагрузился и понял все правильно.
Часто проблема заключается в том, что пользователь, использующий IIS или пул приложений, к которому принадлежит ваше приложение, является системной учетной записью, которая была создана при установке сервера. Поэтому они унаследовали то, что было по умолчанию в то время.
Если вы не можете исправить это в региональных и языковых параметрах, вы всегда можете попробовать редактировать в реестре напрямую (с обычной оговоркой, что возиться с реестром может серьезно испортить Windows). Все региональные настройки находятся в HKEY_USERS \ {userid} \ Control Panel \ International - если вы сравниваете, что там для каждого пользователя, с тем, что есть в HKEY_CURRENT_USER \ Control Panel \ International, должно быть довольно очевидно, что изменить. Я делал это несколько раз на серверах Windows 2000, и это работало хорошо.
Другой вариант - просто создать нового пользователя на компьютере с правильным языковым стандартом, а затем настроить IIS и пул приложений для работы с этим удостоверением.
Немного по-старому, но я все еще слежу за некоторыми классическими сайтами ASP, написанными ныне несуществующей ацтекской цивилизацией, в честь своих пернатых богов.
Перемещение сервера препятствовало тому, чтобы весь код даты работал, и жертва курицы была бесполезна, поэтому здесь очень простое решение в IIS 7, которое не было упомянуто, возможно, потому что никто больше не страдает, как я. р> <Ол>
Это должно вступить в силу немедленно.
В качестве альтернативы вы можете пойти купить DeLorean, вернуться в прошлое и убить программиста, который решил, что FormateDateTime (d, vbLongDate)
является лучшим способом создания даты для использования в базе данных. Или убедить клиента дать мне много денег, чтобы заменить все это. Либо хорошо.
У меня была проблема с форматированием даты в формате мм / дд / гггг, когда я хотел, чтобы она была в формате дд / мм / гггг. Я использую Windows Server 2003 и IIS 6
Решением было добавить следующее в любой файл веб-конфигурации, затем перезагрузить сервер, и он должен работать нормально.
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" />