Repository 32bit  Forum
Repository 64bit  Wiki

[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.

[Risolto]HTML, INPUT e codifica dei caratteri

Messaggioda targzeta » mar set 29, 2009 12: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
targzeta
Iper Master
Iper Master
 
Messaggi: 6168
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: HTML, INPUT e codifica dei caratteri

Messaggioda conraid » mar set 29, 2009 13: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
conraid
Staff
Staff
 
Messaggi: 12016
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: HTML, INPUT e codifica dei caratteri

Messaggioda targzeta » mar set 29, 2009 18: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
targzeta
Iper Master
Iper Master
 
Messaggi: 6168
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: HTML, INPUT e codifica dei caratteri

Messaggioda conraid » mer set 30, 2009 10: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
conraid
Staff
Staff
 
Messaggi: 12016
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: HTML, INPUT e codifica dei caratteri

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


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti