Newsgroup: it.lavoro.professioni.webmaster
Titolo: htm in cirillico

Ho notato che il supporto multilingue non serve per scrivere delle pagine
che debbono presentare del testo in cirillico, dopo alcuni esperimenti mi
sono accorto che il testo scritto in esadecimale viene visualizzato
correttamente.
Esiste un altro sistema?
E' il caso che nell'intestazione dell'htm inserisco qualche stringa
specifica (<!doctype html public "-//w3c//dtd html 3.2//en"> oppure
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> o
ancora <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"> o chissa' cos'altro...)?
Grazie a tutti, ciao.

 charset=iso-8859-1"> o chissa' cos'altro...)?
eh beh, direi proprio di si`, che e` il caso. Sarebbe il caso di metterlo
sempre.
Il doctype comunque non c'entra niente (e ti consiglierei anzi di evitare di
inserirlo a meno che tu non sia sicurissimo di usare solo i tag della
specifica html3.2), perche` riguarda l'html e non il character set, devi
usare invece il tag meta.
Il charset comunque deve essere appropriato, quelli che hai scritto tu
riguardano l'alfabeto occidentale, devi invece usare i corrispettivi per il
cirillico, cioè windows-1251 (cioe` CP1251) o meglio ancora KOI8-R. Devi
ovviamente procurarti un editor che ti consenta di salvare i file in quel
formato, non credo che basti usare un word processor che puo` scrivere in
cirillico, fai un po' di prove. Dai un'occhiata a questa pagina:
http://russian.about.com/msub19.htm?pid=2745&cob=home
, è un buon punto di
partenza, riguarda soprattutto il russo, ma puoi applicare tutto al caso dei
caratteri cirillici in generale.
Tieni presente alcune cose, comunque:
1. prima di tutto l'utente che guarda la tua pagina deve aver installato sul
suo computer il supporto per il cirillico, che comprende sia il supporto per
i due character set di cui sopra, che le relative font. Questo non e` il
caso comune per gli utenti occidentali, che vedranno una serie confusa e
incomprensibile di caratteri latini accentati al posto del cirillico.
Quindi, se pensi di poter avere dei visitatori che non usano il cirillico
come alfabeto standard, è il caso che tu li avverta che c'e` da installare
roba nuova per vedere le pagine correttamente.
2. Se vuoi inserire solo una parola o una frase o breve pezzo in russo o
altra lingua slava all'interno di una pagina altrimenti in una lingua
occidentale, e quindi vuoi usare due tipi di alfabeto, tieni presente che il
meta tag di cui sopra setta il character set per l'intera pagina, e che
KOI8-R e probabilmente anche CP1251, ma su questo non sono sicura,
consentono di usare i caratteri ascii, e quindi puoi anche scrivere 
p.es
. in
inglese, ma non mi pare che supportino le lettere occidentali accentate.
Puoi provare con gli escape in html (cioe` 
p.es
. &agrave; invece di à) se
vuoi scrivere in italiano, non ti garantisco che funzioni però.
Se vuoi inserire solo una parola o una breve frase, ti consiglio pero` di
lasciar perdere tutta la faccenda del charset, usa lo standard occidentale e
usa un'immagine gif per il cirillico, con la translitterazione
nell'attributo "alt". E` triste, ma è l'unica maniera che consente la max
compatibilità.
3. Se vuoi fare una pagina contenente più di due alfabeti diversi (tipo se
vuoi scrivere "benvenuto" in tante lingue, compreso il russo il cinese
l'arabo etc), rinuncia ;-) o usa tanti bei giffini. Lo standard html4.0
prevede in realta` questa possibilità, ma il fatto è che non credo che i
browser consentano di variare il charset all'interno di una pagina, e
comunque quasi nessuno ha installato il supporto per più di uno o due
alfabeti.
Spero di esserti stata di aiuto.
Rossella

 > Ho notato che il supporto multilingue non serve per scrivere...

 </HTML>
in questo caso io vedo caratteri cirillici nella codifica windows-1252
(quindi sbagliati in realtЮ, perchХ non si legge Grammatika, ma sTBNNBFILB,
ma credo sia perchХ hai semplicemente fatto un copia e incolla) anche se
tolgo il meta, o se lo dichiaro windows-1251. Adesso ho capito quello che
intendevi dire ;-)
Allora, su questo punto non so bene cosa consigliarti. Chiamare il testo in
esadecimale equivale in un certo senso a bypassare l'html per invocare
direttamente la codifica dei caratteri, e su questi meccanismi interni ho
conoscenze solo superficiali.
Anche il testo normale in caratteri latini potresti scriverlo in quella
maniera, usando per ogni lettera il corrispettivo esadecimale, volendo. Il
fatto Х che a parte la faticaccia (ma immagino tu abbia un programma che lo
fa per te) non so dirti fino a che punto puoi essere sicuro del supporto su
diverse piattaforme e con diverse versioni dei browsers. Mi ricordo 
p.es
. di
aver inserito una volta in una mia pagina un simbolo di trademark (tm)
adesso supportato da diversi browsers, con &#8482; ma sul macintosh mi
veniva un carattere diverso.
In questo caso specifico, dal momento che i tuoi caratteri danno lo stesso
identico risultato che windows-1252, un caso vagamente sospetto dal momento
che io come te uso proprio windows, mi verrebbe da chiedere se per caso su
unix o mac non si legga qualcosa di completamente diverso, o se per caso i
codici esadecimali non siano effettivamente assoluti ma si riferiscano allo
standard unicode, che e` supportato solo dai browser dell'ultima
generazione. Per sapere se e` cosi` o no, dovresti mettere online la pagina
e chiedere a utenti mac, unix e/o con browser vecchi, di andare a dare
un'occhiata. Sarebbe un lavoro meritorio ;-), poi ci fai sapere.
Un'altro piccolo avvertimento: non so come verrebbe trattata la pagina dai
motori di ricerca, sia quelli grossi di internet, che quello eventuale tuo
locale al sito, non so se le parole scritte in esadecimale siano indicizzate
o no, e se siano indicizzate correttamente. Il meta di solito viene
riconosciuto e il contenuto della pagina trattato di conseguenza.
Decidi tu qual Х la soluzione per te piu` semplice. A conti fatti, io credo
che scriverei "normalmente" e setterei il meta col charset adatto. Il metodo
esadecimale perР potrebbe essere una buona soluzione per una pagina con piЫ
di due charset distinti, non ci avevo pensato :-).
Rossella