2012-04-30 15 views
8

Ho impostato il target di pubblicazione all'interno di SDL Tridion per inviare file (aspx) come UTF-8.SDL Tridion - I file pubblicati non sono codificati in UTF-8

Le pagine sono pubblicate ma sto ancora vedendo alcuni strani problemi di codifica quando sono visualizzati in un browser.

Posso modificare i file sul server utilizzando Blocco note e salvarli come UTF-8, che risolve il problema. Quindi sono un po 'bloccato sul motivo per cui questo sta accadendo, e fastidiosamente ho visto questo prima, ma non riesco a ricordare come è stato risolto.

Ho provato alcune altre opzioni nel target di pubblicazione, ad esempio "Predefinito di sistema", ma sto ancora vedendo lo stesso problema.

Grazie

John

risposta

5

In IIS/.NET non ho mai avuto problemi dopo l'impostazione della Destinazione Pubblicazione in UTF-8 e l'impostazione di questa nel web.config:

<globalization fileEncoding="UTF-8" requestEncoding="UTF-8" 
responseEncoding="UTF-8"/> 

Se si utilizza un programma di distribuzione basato su Windows-Service potresti voler impostare la codifica JVM su UTF-8, come spiegato here.

+1

Grazie a Puf e Nuno - questo è stato davvero uno dei punti nell'eccellente post di Elena sull'argomento. L'aggiunta del nodo qui sopra alla sezione del file web.config esattamente come sopra ha risolto questo problema. – johnwinter

8
+0

Vorrei poterlo scegliere anche come "risposta vincente". Questo collegamento è molto utile per esplorare i vari elementi che potrebbero causare problemi di codifica, sia negli ambienti .Net che in Java. Grazie! – johnwinter

1

Se si tratta di un sistema ereditato da qualcun altro, verificare che la tabella codici non sia impostata in modo esplicito nel modello. Ciò sostituisce l'impostazione predefinita sull'obiettivo di pubblicazione.

+0

Sicuramente vale la pena controllare. Ecco il codice per impostare gli attributi di richiesta e risposta di codifica in .Net 4 (che lo imposterà su UTF-8): '<% @ Page RequestEncoding =" utf-8 "ResponseEncoding =" utf-8 "%>' –

+0

Jonathon: è il codice che dice a ASP.NET di servire la pagina come utf-8. In un modello Tridion, è anche possibile impostare la tabella codici, che indica a Tridion di produrre l'output in una determinata codifica, ignorando l'impostazione sul target di pubblicazione. Ovviamente anche le impostazioni ASP sono rilevanti: tutto deve riunirsi. –

+0

Ah si. Ho interpretato erroneamente la tua risposta e ho pensato che quando hai detto "assicurati che la tabella codici non sia impostata in modo esplicito nel template" ti riferivi al codice ASP.NET di output. Grazie per il chiarimento. –

Problemi correlati