Pagina 1 di 1

[Risolto]HTML, INPUT e codifica dei caratteri

Inviato: mar 29 set 2009, 13:57
da targzeta
Ciao a tutti,
una domanda che mi sono sempre posto ma che non ho mai approfondito. Con quale set di caratteri il browser mi ritorna i valori dei tag <input type="text">?

Si basa sul content-type definito dai tag <meta>?

Perchè non è carino se un browser ti manda le informazioni in latin1 e un altro in UTF-8.

Emanuele

Re: HTML, INPUT e codifica dei caratteri

Inviato: mar 29 set 2009, 14:24
da conraid
spina ha scritto:Ciao a tutti,
una domanda che mi sono sempre posto ma che non ho mai approfondito. Con quale set di caratteri il browser mi ritorna i valori dei tag <input type="text">?

Si basa sul content-type definito dai tag <meta>?

Perchè non è carino se un browser ti manda le informazioni in latin1 e un altro in UTF-8.

Emanuele
purtroppo anche in base al charset del browser, un esempio eclatante è la webmail di google
comunque tag meta, header (se usi php imposta sempre anche il charset tramite header) e...
http://www.w3.org/TR/html401/interact/f ... pt-charset

Re: HTML, INPUT e codifica dei caratteri

Inviato: mar 29 set 2009, 19:25
da targzeta
Grazie Corrado,
mi sono ritrovato in una situazione simpatica mentre usavo la funzion htmlentities() di PHP. In pratica il browser mi restituisce i dati come UTF-8 e la funzione, senza altri parametri a parte la stringa da convertire mi tirava vuoi dei codici strani. Questo perchè in UTF-8 la 'è' viene codificata in due byte e non in uno come in latin1.
Ho risolto passandogli alla funzione anche il set di caratteri da usare, però mi chiedevo: e se poi un altro browser passa le stesse info come latin1?
Impostando l'accept-charset del form non dovrei stare tranquillo no? E se poi il browser non sa gestire il set di caratteri scelto?

Il problema è che ora io invoco la funzione sul set UTF-8, quindi se qualche browser mi ritorna i dati in latin1 è un casotto.

Emanuele

Re: HTML, INPUT e codifica dei caratteri

Inviato: mer 30 set 2009, 11:01
da conraid
spina ha scritto: Il problema è che ora io invoco la funzione sul set UTF-8, quindi se qualche browser mi ritorna i dati in latin1 è un casotto.
in teoria un browser dovrebbe ritornarti i dati nella codifica indicata a monte (per questo di dicevo di usare anche un header, visto che con php lo modifichi facilmente), ma ho visto in giro che non sempre è così, per esempio gmail mi prende quella del browser, qualunque sia quella della mail, ma in quel caso penso che si confonda tra codifica mail, codifica sito, etc... insomma, dipende da quel che devi fare
Comunque per verificare puoi usare
http://it2.php.net/manual/en/function.m ... coding.php
anche se ricordo che non verificava correttamente secondo RFC, non so se abbiano corretto
ma per quel che devi fare tu penso basti

Re: HTML, INPUT e codifica dei caratteri

Inviato: mer 30 set 2009, 17:17
da targzeta
Grazie ancora.
Ho controllato qui sul forum ed ho visto che loro si limitano a mandare un corretto header. Nei form non viene usato l'attributo accept-charset, anche perchè nelle specifiche dice:
Il valore predefinito per questo attributo è la stringa riservata "UNKNOWN". I programmi utente possono interpretare questo valore come la codifica di carattere che è stata usata per trasmettere il documento contenente questo elemento
Speriamo bene :)

Emanuele