Pregunta

He encontrado un poco de un pickle con un nuevo servidor web. Tenemos un nuevo servidor web que muestra las fechas de manera diferente a nuestros servidores web antiguos.

Estamos ejecutando páginas web clásicas de ASP en IIS 6.0 con Windows Server 2003.

Hemos iniciado sesión como administrador, establecemos la configuración regional según corresponda y luego aplicamos la configuración al usuario actual y al perfil de usuario predeterminado.

Luego ingresamos al registro y actualizamos los formatos apropiados en HKEY_USERS / .default / control panel / international.

Actualice la configuración de asp.net para nuestros sitios web a la página de códigos y la configuración regional correctas.

¿Alguien tiene otros lugares en los que la aplicación pueda obtener formatos de fecha?

¿Fue útil?

Solución

Sé que esta no es la forma 'correcta' de solucionar el problema. Sin embargo, la aplicación se escribió hace muchos años, obtener algo a través de la planificación / control de cambios sería una molestia, y es la única aplicación que se ejecuta en el servidor. Por lo tanto, está bien configurar el servidor para atender a esta única aplicación. Además, me estaba volviendo loco porque un nuevo servidor que debería configurarse de forma idéntica a un servidor antiguo no funcionaba.

Resulta que además de HKEY_USERS / * / Control Panel / international , hay una configuración para programas que no son Unicode. Se puede encontrar en HKLM / system / currentcontrolset / control / nls / language / Default . Configúralo en la página de códigos correcta y está dorado.

Por otra parte, si prefiere no modificar el registro directamente, puede actualizar todos estos valores a través de la Configuración regional desde el panel de control.

Puede ajustar los formatos a través del botón ' personalizar '. Puede cambiar el 'idioma para programas que no son Unicode' en la pestaña avanzada. Solo asegúrate de marcar la casilla 'aplicar al perfil predeterminado' en la parte inferior de la pestaña avanzada.

Otros consejos

No creo que la respuesta de voto más alta sea correcta, aunque está cerca.

Tuve que usar regedit para cambiar todas las configuraciones de internacionalización de HKU \ S-1-5-19 \ Control Panel \ International (Autoridad NT) y HKU \ S-1-5-20 \ Control Panel \ International (Red Servicio) para que coincida con la configuración que ya estaba en HKU \ S-1-5-18 \ Control Panel \ International (Sistema local).

Esto funcionó perfectamente.

He modificado todas las configuraciones que pude ver que eran diferentes, a mano.

Debería pensar que solo necesitaba cambiar la configuración de S-1-5-20 (Servicio de red).

El ASP clásico se configura de manera predeterminada para la Id. de configuración regional que se configuró cuando el servidor estaba en Configuración. Si tiene acceso al servidor original, ejecute el siguiente código para obtener la ID de la configuración regional en la que está funcionando y verifique que el nuevo servidor esté utilizando el mismo.

<%=Session.LCID%>

Si las ID de configuración regional son diferentes y no puede cambiarlas en el nuevo servidor, puede agregar una línea a la sub Session_OnStart en global.asa para la aplicación que asigna la ID de configuración regional correcta a Session.LCID.

Usando una página ASP con el contenido: -

Response.Write GetLocale

Puede ser informativo, le mostrará la configuración regional que VBScript cree que está usando.

He visto problemas como este en un pasado oscuro y lejano al usar la seguridad integrada. La ASP almacena en caché los detalles regionales de una sección del usuario cuando primero necesita usarlos y luego continúa usando esa configuración hasta que el proceso finaliza. ASP obtiene esta configuración de la sección de usuario asociada con la identidad de usuario con la que se está ejecutando actualmente el código. La mayor parte del tiempo sería DEFAULT porque el usuario no tiene un perfil en el sistema.

Sin embargo, si resulta que el usuario ha iniciado sesión de forma interactiva en el servidor, tendrá un perfil y se utilizará su configuración. Por lo tanto, he visto situaciones en las que el servidor parece tener problemas intermitentes con la configuración regional.

No puedo recordar si lo he visto en IIS6, definitivamente lo he visto en IIS5.

Si ejecuta su aplicación ASP con una cuenta diferente (no IUSR_Guest) Inicie sesión como esa cuenta, configure el formato de fecha / hora según lo que desee y reinicie IIS.

Ir al Panel de control - > Configuración regional y de idioma, configure todas las opciones que necesita, luego, en la pestaña 'Avanzadas', seleccione la configuración para programas que no sean Unicode y marque 'Aplicar toda la configuración a la cuenta actual y al perfil de usuario predeterminado'. Presione OK y reinicie el servidor.

En Windows Server 2008, los administradores tienen una pestaña 'Administrativa' adicional. Presione "Copiar a cuentas reservadas".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top