Pergunta

Eu encontrei uma coisa especial de um pickle com um novo servidor web. Temos um novo servidor web que está exibindo datas diferente do que nossos servidores antigos.

Estamos executando asp páginas web clássicos sobre IIS 6.0 com Windows 2003 Server.

Temos logado como administrador e definir as configurações regionais, conforme apropriado e, em seguida, aplicado as configurações de usuário atual e perfil de usuário padrão.

Fomos então para registro e atualizar os formatos apropriados sob HKEY_USERS / .default painel de controle / / internacional.

Atualize a configuração do asp.net para os nossos sites para o código-página e localidade correta.

Alguém tem outros lugares que a aplicação poderia estar recebendo formatos de data a partir de?

Foi útil?

Solução

Eu sei que esta não é a maneira 'apropriada' para corrigir o problema. No entanto, o aplicativo foi escrito há muitos anos, recebendo algo por meio do controle de planejamento / mudança seria uma dor, e é o único aplicativo em execução no servidor. Assim que é bom para configurar o servidor para atender a este único aplicativo. Além disso ele estava me deixando louca que um novo servidor que devem ser configurados de forma idêntica a um servidor antigo não estava funcionando.

Acontece que, além de HKEY_USERS/*/Control Panel/international, há uma configuração para programas não-Unicode. Ele pode ser encontrado em HKLM/system/currentcontrolset/control/nls/language/Default. Definir que a página de código correto e é de ouro.

Por outro lado, se você preferir não modificar o registro diretamente, você pode atualizar todos estes valores através das configurações regionais no painel de controle.

Você pode ajustar os formatos através do botão 'customize'. Você pode alterar o 'idioma para programas não-Unicode' na guia avançado. Apenas certifique-se que você verifique o 'se aplicam ao perfil default' na parte inferior da guia avançado.

Outras dicas

Eu não acho que a resposta maior votação é certo, mas é perto.

Eu tive que usar regedit para mudar todas as configurações de internacionalização de HKU \ S-1-5-19 \ Control Panel \ International (Autoridade NT) e HKU \ S-1-5-20 \ Control Panel \ International (Rede de service) para corresponder às configurações que já estavam em HKU \ S-1-5-18 \ Control Panel \ International (Sistema local).

Isso funcionou perfeitamente.

Eu modifiquei todas as configurações que eu podia ver que eram diferentes, com a mão.

Eu deveria pensar que eu realmente só precisava mudar as configurações de S-1-5-20 (Serviço de rede).

O padrão clássico do ASP para o Locale ID que foi configurada quando o servidor foi instalado. Se você tiver acesso ao servidor original execute o seguinte código para obter o Locale ID-lo operacional sob e verificar se o novo servidor está usando o mesmo.

<%=Session.LCID%>

Se os IDs de localidade são diferentes e você não pode alterá-lo no novo servidor, então você pode adicionar uma linha para o sub Session_OnStart no global.asa para o aplicativo que atribui o ID de localidade correta para Session.LCID.

Usando uma página ASP com o conteúdo: -

Response.Write GetLocale

Pode ser informativo, que vai mostrar o que locale VBScript pensa sua utilização.

Já vi problemas como este no passado obscuro e distante quando utilizar segurança integrada. O ASP armazena os detalhes regionais de a colmeia usuário quando ele primeiro precisa usá-los, em seguida, continua a usar essas configurações até que as matrizes de processo. ASP recebe essas configurações da colméia usuário associado com a identidade do usuário o código está sendo executado sob. Na maioria das vezes que seria padrão porque o usuário não tem um perfil no sistema.

No entanto, se o usuário passa a ter conectado de forma interativa para o servidor que terá um perfil e assim suas configurações são usadas. Daí eu vi situações em que o servidor parece ter problemas intermitten com configurações regionais.

Não me lembro se eu já vi isso em IIS6, eu definitivamente vi isso em IIS5.

Se você executar o aplicativo ASP em uma conta diferente (não IUSR_Guest) Faça login como essa conta, data set / formato da hora para que você quer e reinicie o IIS.

Vá para Painel de Controle -> Opções regionais e de idioma, definir todas as opções que você precisa, em seguida, em Configurações selecione a aba 'Avançado' para programas não-Unicode e verificação 'Aplicar todas as definições para a conta corrente e para o perfil de usuário padrão. '. Pressione OK e reiniciar o servidor.

Administradores no Windows Server 2008 tem guia adicional 'administrativo'. Não pressione 'Copiar para contas reservadas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top