[Risolto]HTML, INPUT e codifica dei caratteri

Forum dedicato alla programmazione.

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.
Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6388
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

[Risolto]HTML, INPUT e codifica dei caratteri

Messaggioda targzeta » mar set 29, 2009 13:57

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
conraid
Staff
Staff
Messaggi: 12773
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: HTML, INPUT e codifica dei caratteri

Messaggioda conraid » mar set 29, 2009 14:24

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

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6388
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: HTML, INPUT e codifica dei caratteri

Messaggioda targzeta » mar set 29, 2009 19:25

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
conraid
Staff
Staff
Messaggi: 12773
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: HTML, INPUT e codifica dei caratteri

Messaggioda conraid » mer set 30, 2009 11:01

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

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6388
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: HTML, INPUT e codifica dei caratteri

Messaggioda targzeta » mer set 30, 2009 17:17

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite