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
[Risolto]HTML, INPUT e codifica dei caratteri
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
[Risolto]HTML, INPUT e codifica dei caratteri
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: HTML, INPUT e codifica dei caratteri
purtroppo anche in base al charset del browser, un esempio eclatante è la webmail di googlespina 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
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
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: HTML, INPUT e codifica dei caratteri
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
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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: HTML, INPUT e codifica dei caratteri
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 farespina 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.
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
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: HTML, INPUT e codifica dei caratteri
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:
Emanuele
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:
Speriamo beneIl 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
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama