Newsgroup: it.lavoro.professioni.webmaster
Titolo: Stesso codice, server uguale, caratteri sbagliati...

Non riesco a raccapezzarmici e non trovo il motivo per cui accade che la
stessa pagina, caricata in due siti diversi, ha dei problemi nei
caratteri.
Per vederli correttamente ho dovuto usare due codifiche diverse, UTF-8 e
ISO-8859-1
Avete un idea del perchè? Può essere una configurazione del server?
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore
e di riuscire a venderle
F. Zappa

 Avete un idea del perchè? Può essere una configurazione del server?
Si.
Può essere che i due server siano configurati in maniera diversa (vedi 
direttiva "AddDefaultCharset" di Apache ad esempio).

 direttiva "AddDefaultCharset" di Apache ad esempio).
Grazie,
mi sa che che non posso modificare questa direttiva.
Per ora ho risolto inserendo a mano una eccezione nel codice php.
Non mi piacciono le eccezioni, ma in quest caso far� una... "eccezione".
Max
-- 
http://www.maxori.it
L'Arte � la capacit� di fare cose di nessun valore


Avete un idea del perch�?
Charset sbagliato, ma questo gi� lo sai.
Per sapere dove compaia questo errore usa lynx oppure Firefox+FireBug per
leggere gli header della richiesta E della risposta che mandi verso i due
siti.
Gi� che ci sei potresti postare le prime tre righe della pagina... giusto
per verificare che l'encoding sia segnalato bene (ma non basta... ed ecco
perch� servono gli header di cui sopra).
Non sapendo neanche se parli d'una pagina statica o dinamica, e in questo
caso in quale linguaggio e su quale tipo di server, non mi sento di tirar
fuori le dodici cause pi� probabili cos� che tu le controlli tutte. Molto
meglio saperne di pi� prima :-)
Leonardo
-- 
Enough, enough!  But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!

 mi sa che che non posso modificare questa direttiva.
Se usi httpd di Apache prova con AddType, io in .htaccess in webroot ho 
messo:
AddType 'text/html; charset=UTF-8' html
AddType 'text/html; charset=UTF-8' php



Uso spesso htaccess ma questa non la sapevo proprio...
Faccio un test,
grazie
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore


 Leonardo
In tutti i casi, essendo il sito monopagina, ho risolto velocemente
usando l codifica ISO, mi rimane il dubbio del perchè, appunto


Connection      keep-alive
OK, questa e' la pagina di richiesta. Cosa ti ritorna il sito? Negli
header dovresti avere Content-Type e charset.
Casomai dai un'occhiata a questo:
http://www.w3.org/International/O-HTTP-charset
Oh, tieni presente che anche il contenuto delle pagine *deve* essere
consistente. Puoi controllare con recode, per esempio, o con qualche
utility di charset-detection.


 header dovresti avere Content-Type e charset.
il sito mi ritorna gli haeders che ho deciso io, no?
Li ho impostati come UTF-8, ma i caratteri con l'accento acuto,
tipicamente spagnoli, mi appaiono come non riconoscibili.
Se vuoi dare un'occhiata personalmente posso postare le due URL
www.ultrarun.es
 (corretto)
www.ultrarun.cl
 (errato)
-- 
http://www.maxori.it
L'Arte � la capacit� di fare cose di nessun valore


Ho fatto validare l'xhtml e mi sono accorto che i caratteri errati sono
esadecimali! 
Ma non capisco come possa succedere, visto che l'area di amministrazione
è nel sito spagnolo, e, guardando i testi in quell'area, si vedono bene.
Nelle pagine pubbllche alcune sono corrette e altre no... non so proprio
che dire.
Di sicuro le cose si risolvono impostando il charset a ISO, ma è proprio
una cosa strana...
Sembra proprio che dipenda dal server
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore


.cl (errato)
HTTP/1.1 200 OK
Date: Sat, 06 Nov 2010 17:06:27 GMT
Server: Apache
Content-Type: text/html
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Ed ecco spiegato l'arcano.
Dentro quelle pagine c'e' codice ISO-8859-15, non UTF-8.
Quindi il sito ".es" viene visto bene DA QUEI BROWSER CHE DANNO PRECEDENZA
ALLO HEADER RISPETTO AL META, mentre il sito ".cl", non avendo header, sta
facendo advertisement per UTF-8, che non e'.
La soluzione corretta è encodare tutto in UTF-8 e mettere lo header giusto
nel sito .es .
In alternativa devi mettere ISO-8859-15 nei due META, e potendo, anche uno
header ISO-8859-15 nei due server.


Ed ecco spiegato l'arcano.
Mi sono dimenticato di indicare come il sito ".es" mandi fuori uno header
Content-Type completo di charset, l'altro no. E' un settaggio di Apache.


 il sito mi ritorna gli haeders che ho deciso io, no?
Apparentemente no.
bimac:~ $ curl -s -I 
http://ultrarun.es
 | grep "charset\|Content"
Content-Type: text/html; charset=ISO-8859-1
bimac:~ $ curl -s -I 
http://ultrarun.cl
 | grep "charset\|Content"
Content-Type: text/html
Hai provato con quegli AddType che ti ho suggerito?

 Hai provato con quegli AddType che ti ho suggerito?
Si, mi viene visualizzato il codice php...
Sembra che l'htaccess con quella direttiva mandi in banana il server.
Max
P.S. scusa se ti rispondo cos� a distanza di tempo ma il weekend non �
il momento giusto per queste discussioi.


 Sembra che l'htaccess con quella direttiva mandi in banana il server.
E se provi con:
  AddType 'application/x-httpd-php; charset=UTF-8' php 
?

 wrote:

Così non ho errori ma sulla pagina non ha effetto comunque.
Adesso faccio anche dei test con quello che mi ha detto Leonardo.
Grazie
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore
