Domanda

Ho un VPS ospitato ospitato da una società di hosting britannica che per qualche ragione è impostata sulle impostazioni statunitensi. In effetti, fino a poco tempo fa, le impostazioni regionali erano "inglese - Stati Uniti". Ho corretto le impostazioni internazionali, ma la mia applicazione funziona ancora con un formato data errato. Vedi:

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

Le date predefinite dovrebbero essere la data corrente alla data + 3 mesi, ma come puoi vedere, i campi dd e MM vengono scambiati. Nota: l'estensione del calendario AJAX è impostata manualmente su gg / MM / aaaa, per questo motivo il pop del calendario pensa che siamo interessati a giugno / luglio anziché a gennaio!

So che ci sono vari modi per impostare una pagina o un'applicazione in modo da utilizzare una determinata locale, ma preferirei adottare un approccio globale.

È possibile riconfigurare IIS per funzionare in una locale diversa o, in caso contrario, posso modificare machine.config in modo che sia una modifica una sola volta?

Ho un biglietto aperto con l'host ma non ho intenzione di trattenere il respiro - non vorranno reinstallare IIS ...

Grazie in anticipo.

È stato utile?

Soluzione

Tramite l'elemento globalizzazione , puoi impostare la cultura e l'uicoltura per un sito (tramite web.config) o l'intera macchina (tramite machine.config).

Altri suggerimenti

Ho appena riscontrato un problema simile (Windows Server 2008, IIS 7). Sono stato in grado di risolverlo modificando il file di configurazione Web, ma come te volevo una correzione globale.

La soluzione è nel pannello di configurazione, impostazioni internazionali. Non so per te (qual è il tuo sistema operativo), ma sotto WS2008, c'è una scheda amministrativa sotto le impostazioni regionali. Ti consente di copiare le impostazioni del tuo utente registrato (tu) negli account amministrativi (servizi di rete in questo caso). Riavviato e capito bene.

Il problema è spesso che l'utente che esegue IIS o il pool di applicazioni a cui appartiene l'app è un account di sistema che è stato creato al momento dell'installazione del server. Pertanto, hanno ereditato qualsiasi impostazione internazionale predefinita al momento.

Se non riesci a risolverlo con le opzioni regionali e della lingua, puoi sempre provare a modificare direttamente il registro (con la solita condizione che scherzare con il registro possa rovinare seriamente Windows). Le impostazioni regionali sono tutte in HKEY_USERS \ {userid} \ Control Panel \ International - se si confronta ciò che è lì per ogni utente con quello che si ha in HKEY_CURRENT_USER \ Control Panel \ International dovrebbe essere abbastanza ovvio cosa cambiare. L'ho fatto alcune volte su server Windows 2000 e ha funzionato bene.

L'altra opzione è solo quella di creare un nuovo utente sul computer con le impostazioni internazionali corrette e quindi impostare sia IIS che il pool di applicazioni per l'esecuzione con tale identità.

Un po 'un vecchio filo, ma mi occupo ancora di alcuni siti ASP classici legacy scritti dall'ormai defunta civiltà azteca in lode dei loro dei piumati.

Uno spostamento del server ha impedito a tutto il codice della data di funzionare e sacrificare un pollo non è stato di aiuto, quindi ecco la soluzione molto semplice in IIS 7 che non è stata menzionata, forse perché nessun altro soffre come me.

  1. Vai a Gestione IIS.
  2. Seleziona il nodo del server radice da applicare a tutti i siti oppure seleziona il nodo del sito con cui stai riscontrando problemi se vuoi lasciare il server predefinito da solo.
  3. Nella sezione IIS, fai doppio clic sull'icona ASP.
  4. Imposta l'ID impostazioni internazionali sull'impostazione internazionale desiderata (2057 per il Regno Unito).

Questo dovrebbe avere effetto immediato.

In alternativa puoi acquistare un DeLorean, tornare indietro nel tempo e uccidere il programmatore che ha deciso che FormateDateTime (d, vbLongDate) è stato il modo migliore di generare una data da utilizzare nel database. O persuadere il cliente a darmi un sacco di soldi per sostituire tutto. O va bene.

Ho avuto un problema, con la data formattata mm / gg / aaaa quando volevo che fosse gg / mm / aaaa. Sto usando Windows Server 2003 e IIS 6

La soluzione era aggiungere quanto segue a qualsiasi file di configurazione Web, quindi riavviare il server e dovrebbe funzionare correttamente.

<globalization requestEncoding="utf-8" responseEncoding="utf-8"  culture="en-GB" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top