Pregunta

Tengo un VPS alojado alojado por una empresa de hosting del Reino Unido que, por alguna razón, está configurada en los EE. UU. De hecho, hasta hace poco, la configuración regional era "inglés - Estados Unidos". He corregido la configuración regional, pero mi aplicación todavía funciona con el formato de fecha incorrecto. Ver:

http://www.albaassoc.com/events/listevents.aspx

Se supone que las fechas predeterminadas son la fecha actual a la fecha + 3 meses, pero como puede ver, los campos dd y MM se intercambian. Nota: el extensor de calendario AJAX se configura manualmente en dd / MM / aaaa, ¡por eso el calendario emergente cree que estamos interesados ??en junio / julio en lugar de enero!

Sé que hay varias formas de configurar una página o una aplicación para usar una configuración regional particular, pero prefiero un enfoque global.

¿Es posible volver a configurar IIS para que funcione en una ubicación diferente, o si no, puedo modificar machine.config para que sea un cambio único?

Tengo un ticket abierto con el host, pero no voy a contener la respiración; no querrán reinstalar IIS ...

Gracias de antemano.

¿Fue útil?

Solución

A través del elemento globalización , puede establecer la cultura y la uicultura para un sitio (a través de web.config) o la máquina completa (a través de machine.config).

Otros consejos

Acabo de recibir un problema similar (Windows Server 2008, IIS 7). Pude solucionarlo editando el archivo de configuración web, pero como tú quería una solución global.

La solución está en el panel de configuración, configuración regional. No sé por usted (cuál es su sistema operativo), pero bajo WS2008, hay una pestaña administrativa en la configuración regional. Le permite copiar la configuración de su usuario conectado (usted) a las cuentas administrativas (servicios de red en este caso). Reiniciado y lo hice bien.

El problema a menudo es que el usuario que ejecuta IIS o el grupo de aplicaciones al que pertenece su aplicación es una cuenta del sistema que se creó cuando se instaló el servidor. Por lo tanto, heredaron la configuración regional predeterminada en ese momento.

Si no puede solucionarlo en las opciones regionales y de idioma, siempre puede intentar editarlo directamente en el registro (con la condición habitual de que jugar con el registro pueda arruinar Windows). La configuración regional se encuentra en HKEY_USERS \ {userid} \ Control Panel \ International: si compara lo que hay para cada usuario con lo que tiene en HKEY_CURRENT_USER \ Control Panel \ International, debería ser bastante obvio qué cambiar. Lo hice varias veces en servidores Windows 2000 y funcionó bien.

La otra opción es simplemente crear un nuevo usuario en la máquina con la configuración regional correcta y luego configurar tanto IIS como el grupo de aplicaciones para que se ejecuten con esa identidad.

Un poco de un hilo viejo, pero todavía cuido algunos sitios ASP clásicos heredados escritos por la civilización azteca ahora desaparecida en alabanza a sus dioses emplumados.

Un movimiento de servidor impidió que todo el código de fecha funcionara y sacrificar un pollo no fue de ayuda, así que aquí está la solución muy fácil en IIS 7 que no se ha mencionado, posiblemente porque nadie más está sufriendo como yo.

  1. Ir al Administrador de IIS.
  2. Seleccione el nodo del servidor raíz para aplicar a todos los sitios, o seleccione el nodo del sitio con el que tiene problemas si desea dejar solo el servidor predeterminado.
  3. En la sección IIS, haga doble clic en el icono ASP.
  4. Establezca la ID de configuración regional en la configuración regional deseada (2057 para el Reino Unido).

Esto debería tener efecto de inmediato.

Alternativamente, podría comprar un DeLorean, retroceder en el tiempo y matar al programador que decidió que FormateDateTime (d, vbLongDate) era la mejor manera de generar una fecha para usar en la base de datos. O persuadir al cliente para que me dé mucho dinero para reemplazar todo. Cualquiera de los dos es bueno.

Tuve un problema, con la fecha formateada mm / dd / aaaa cuando quería que fuera dd / mm / aaaa. Estoy usando Windows Server 2003 e IIS 6

La solución fue agregar lo siguiente a cualquier archivo de configuración web, luego reiniciar el servidor y debería funcionar bien.

<globalization requestEncoding="utf-8" responseEncoding="utf-8"  culture="en-GB" />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top