Newsgroup: it.cultura.linguistica
Titolo: Trasformazione caratteri strani in caratteri semplici

Si tratta di una funzione di ricerca che deve semplificare una pagina 
web in entrata per archiviarla e su cui effettuare ricerche testuali.
Per intenderci, la à la trasformo in a, la ñ la trasformo in n ecc.
Mi mancano queste (spero le vediate):
ð
ø
þ
Si possono trasformare in qualcosa di più semplice?
Inoltre ho trasformato
æ   in ae
ç   in c
Lo ritenete corretto?
Vi ringrazio.

 þ
Direi dh, oe e th
-- 
----------------------------------------------------------------------
nos...@mi.iasf.cnr.it
 is a newsreading account used by more persons to
avoid unwanted spam. Any mail returning to this address will be rejected.
Users can disclose their e-mail address in the article if they wish so.

 Direi dh, oe e th
Non fa una piega. Però... se c'è la possibilità di associare più di una 
trasformazione a ogni simbolo, allora suggerisco anche 
(rispettivamente) d, o, t.
Questo per semplicità di ricerche future nel tuo archivio informatico. 
Ad esempio, se un utente vuole cercare documenti su Jóhanna 
Sigurðardóttir, digiterà probabilmente "Johanna Sigurdadottir" (e non 
"Johanna SigurDHardottir", anche se teoricamente più giusto 
foneticamente).
-- 
Tchau, -João do Sabão

 esempio, se un utente vuole cercare documenti su Jóhanna Sigurðardóttir,
Non so l'islandese ma non so perche' quell'infisso in -ar- mi suona 
strano ...  ci vorrebbe il Venturi !
In prima istanza sarei stato tentato di rigettare la proposta di 
scrivere d o t invece di dh oe th ...
... soprattutto quella della th che ha tutto un altro suono (tanto 
varrebbe scrivere "te" invece di "the" in inglese senno'), mi viene 
sempre in mente quando la guida Ágústa Sigrún Ágústsdottír ci spiegava 
che la localita' di Thorsmörk (þorsmörk) prendeva nome dalla divinita' 
Thor ... e la gente non capiva, allora cito' il martello e subito uno 
fece "ah, Tor !"  Anche Thingvellir, la mitica "piana del parlamento", 
non la vedo proprio scritta con la t.
D'altra parte devo dire che se sarei perplesso di fronte a un nome di 
persona come Oersted scritto Orsted, non troverei nulla di strano se un 
toponimo come Øresund venisse scritto Oresund ... in fin dei conti 
spesso si trova Zurich invece di Zuerich per Zürich, e credo anche Arhus 
invece di Aarhus per Århus.
E soprattutto per la dh devo dire che pur avendo dormito in una scuola a 
Egilstadhir, preso il caffe' nella mitica Mödhrudalur, mangiato la trota 
affumicata a Reykjahlidh (e visto innumerevoli "hlidh" anche 
all'aeroporto), ammirato la cascata di Godhafoss e transitato da 
Breidhdalsvik (notare la sequenza "ðd") non mi ero reso conto (pur 
avendo visto i cartelli stradali) che NON fossero Egilstadir, 
Modrudalur, Reykjahlid, Godafoss e Breiddalsvik fino a quando ieri sera 
ho controllato su tre diversi libri (guide e atlanti TCI) che 
sistematicamente riportano ð o dh.
Perfino i toponimi di fiordo sono in -fjördhur e non -fjordur !
Eppure i miei occhi hanno sempre "visto" (percepito) la "d".
Probabilmente una scelta "saggia" sarebbe effettivamente quella, 
soprattutto nel caso di vocali con diacritici, ma anche di consonanti 
con cediglie, caron o gancetti vari, di consentire la ricerca anche con 
la forma "sbagliata" senza diacritici.  Suggerirei di controllare il 
comportamento di motori di ricerca tipo Google e comportarsi come loro.


 Lo ritenete corretto?
Perché porsi il problema? Qualsiasi trasformazione è "corretta", a
patto che sia applicata in modo *identico* sia sul testo da
indicizzare (la pagina web) sia sulla stringa di ricerca battuta
dall'utente.
Non necessariamente il testo trasformato deve avere senso da un punto
di vista linguistico; anzi, non c'è nemmeno bisogno che sia ancora
comprensibile...
Guarda per esempio come funzione il Soundex (
http://en.wikipedia.org/
wiki/Soundex), nel quale una stringa come "Robert" viene trasformata
in "R163"...
Oppure vedi lo "Unicode Collation Algorithm" ("UCA":
http://www.unicode.org/reports/tr10
), nel quale ogni singolo carattere
diventa una stringa di "pesi" numerici, es.:
- "a" viene trasformata in 0001/0001/0001
- "A" viene trasformata in 0001/0001/0002
- "à" viene trasformata in 0001/0002/0001
- "À" viene trasformata in 0001/0002/0001
- ecc.
Considerando solo il primo peso, ignori sia la differenza maiuscolo/
minuscolo sia eventuali diacritici, così tutti e 4 i caratteri
diventano uguali ("lettera A").
Considerando anche il secondo peso, ignori solo la differenza
maiuscolo/minuscolo ma non i diacritici, così solo i primi e i secondi
2 diventano uguali fra loro ("lettera A senza diacritici" vs. "lettera
A con l'accento grave").
Arrivando al terzo peso, i quattro caratteri sono diversi ("lettea A
minuscola senza diacritici" vs. "lettea A maiuscola senza diacritici"
vs. "lettera A minuscola con l'accento grave" vs. "lettera A maiuscola
con l'accento grave").
Non ti sto suggerendo di implementare esattamente queste
trasformazioni (suppongo che per i tuoi scopi il Soundex sia troppo
brutale e l'UCA troppo sofisticato) ma solo che la stringa trasformata
non è che un passaggio intermedio che deve servire solo agli scopi del
tuo programma e che l'utente non dovrebbe nemmeno vedere. Quindi non
preoccuparti di trasformare le "ð" in "d", e pure le "q" in "k", le
"h" in stringa vuota e magari, perché no, tutte le vocali in "a"...
--
Cingar