Sui charset devo ancora studiare un po', però sono quasi sicuro che Unicode contenga UTF-8.
Tuttavia UTF-8 non può rappresentare in un solo byte tutti i caratteri del set Latin-1, ma non credo che questo costituisca un problema perché dopo aver decodificato la stringa da Latin-1 a UTF-8 e averla inviata e ricevuta dal client in Unicode, non ci sono errori di decodifica.
Praticamente i set di base utilizzano un solo byte per ogni carattere, ma in questo modo hanno (ovviamente) delle possibilità limitate di combinazioni, per cui rappresentano solo un certo numero di caratteri (il charset, appunto).
Quando un carattere non è contenuto in quel set, lo rappresentano usando 2 byte (multibyte), cosa che nella realtà vedi fisicamente come 2 caratteri (spesso non molto belli o comprensibili), però l'informazione viene mantenuta.
Per questo quando il client riceve i caratteri decodificati in multibyte è in grado di risalire al carattere originario.

Rispondi quotando