PDA

View Full Version : [HTML] Problema encoding utf-8


mdmiko
21-11-2010, 23:04
Ciao a tutti,
ho un problema abbastanza noioso...

Sul sito a cui sto lavorando, compare spesso la sequenza di caratteri "50&Più". Che sarebbe il nome dell'associazione del sito.

Utilizzanso una codifica utf-8 la & vicina a Pi mi tirano fuori il PiGreco, tuttavia l'encoding dovrebbe avvenire se ci fosse un ; alla fine, e cioè Π

Ho provato a mettere l'encoding windows e quello occidentale, ma poi ho altri problemi. Se invece scrivo &Più su html semplice va tutto bene, mentre se lo faccio all'interno del CMS vedo visualizzata tutta la sequenza di caratteri...

Non so come risolvere. Il cms è dotnetnuke. Forse devo modificare l'encoding sul database mssql? ho visto che anche altri siti che scrivono il nome 50&Più hanno lo stesso problema

wingman87
21-11-2010, 23:24
Io ho capito che se scrivi nel codice html &Piuù va tutto bene e se scrivi &Più nel cms te lo scrive così com'è. Quindi dov'è il problema? (Evidentemente non ho capito appieno...)

mdmiko
22-11-2010, 23:33
scusa, ho postato ma avevo il cervello già fuso

Mi esce il simbolo del pigreco: esce scritto 50πù invece di 50&Più

bobbytre
23-11-2010, 00:05
scusa, ho postato ma avevo il cervello già fuso

Mi esce il simbolo del pigreco: esce scritto 50πù invece di 50&Più

se posti il codice incriminato risulta piu chiaro capire il problema

mdmiko
23-11-2010, 07:45
<p>50&Più</p>
viene visualizzato 50πù

Non penso di poter mettere dei link, ma lo stesso problema lo hanno altri siti riguardo al nome dell'associazione: se ad esempio fai una ricerca su google per 50πù, ci sono gli esempi di cui ti parlo.

In pratica credo che &pi è un escape per π, anche se in teoria doveva essere &pi;

Supdario
24-11-2010, 19:07
Quello succede perché scrivendo "&Pi", il browser pensa che sia un errore di scrittura (una svista dell'autore) e lo interpreta come "&Pi;". Se provi, farà lo stesso con "&agrave", "&ugrave", ecc... (senza necessariamente mettere il ; alla fine)

In ogni caso usare il carattere "&" per indicare il medesimo in HTML non è corretto, dato che esso viene usato per indicare le entità come "&euro;" e "&agrave;". Dovresti usare "&amp;". :D

Se il CMS non te lo accetta è perché probabilmente si occupa lui di convertire il testo "grezzo" in HTML corretto.

mdmiko
24-11-2010, 23:36
Quello succede perché scrivendo "&Pi", il browser pensa che sia un errore di scrittura (una svista dell'autore) e lo interpreta come "&Pi;". Se provi, farà lo stesso con "&agrave", "&ugrave", ecc... (senza necessariamente mettere il ; alla fine)
Non lo sapevo :)

In ogni caso usare il carattere "&" per indicare il medesimo in HTML non è corretto, dato che esso viene usato per indicare le entità come "&euro;" e "&agrave;". Dovresti usare "&amp;". :D

Se il CMS non te lo accetta è perché probabilmente si occupa lui di convertire il testo "grezzo" in HTML corretto.

infatti ho provato ad usare &amp; e &ugrave; se lo faccio in html puro non ci sono problemi. Mentre con DNN esce proprio la scritta "&amp;"

Hai qualche consiglio?