Originariamente inviato da Cerebro
1. a livello PHP, devo preoccuparmi di usare funzioni particolari per confrontare stringhe, salvare stringhe/testo nel database? (utf8_encode(), ...?) Oppure il tutto è trasparente, ovvero continuo con i soliti $s == '', $s = "ciao"; ... etc
Dipende dalla operazione.
Assegnazioni, comparazioni (con == o !=) si possono fare nel modo usuale. La determinazione della lunghezza della stringa, ad esempio no. In utf-8 un carattere può essere rappresentato con più byte e strlen conta i byte della stringa, non i singoli caratteri effettivi (poiché non sa come sono codificati fisicamente).

Ci sono delle funzioni apposite nella libreria iconv, esempio iconv_strlen() che però è supportata solo dal PHP 5.

Purtroppo queste questioni legate ai charset non sono sempre di facile risoluzione, specialmente in PHP.


Originariamente inviato da Cerebro
codice:
<span lang=ru style='font-family:windows-1251;'>Россия</span>

<span lang=ru style='font-family:windows-1251;'>& #1056;& #1086;& #1089;& #1089;& #1080;& #1103;</span>
windows-1251 è il charset adatto per la codifica di caratteri cirillici, quindi appropriato per le lingue russo e bulgaro.

La entità & #1056; (per fare un esempio) corrisponde al carattere con valore 0xD0 secondo il charset windows-1251. Pertanto è indifferente mandare in output la stringa & #1056; o il singolo byte con valore 0xD0