Page 1 of 1

Caratteri accentati nei link...

PostPosted: Sun 06 April 2014; 18:18
by EuroCity
Una piacevole scoperta, fatta per caso:

http://www.mrwebmaster.it/html/gestire- ... _7369.html

... ed in particolare:

à => à
è => è
é => é
ì => ì
ò => ò
ù => ù


Provato oggi con un link diretto ad un'immagine, che non veniva perché c'era una à accentata: sostituendo la à nel link con à, tutto poi ha funzionato...

Re: Caratteri accentati nei link...

PostPosted: Sun 06 April 2014; 18:52
by indaco1
Penso che tu possa usare qualunque entity Html: http://www.asciitable.it/entita.asp

Pero' secondo me non e' il caso, ogni lingua dovrebbe rinunciare ai suoi caratteri strani, a tendere. Io uso l'apostrofo come accento sempre, sono "pure ascii". Scrivo entita', non entità. Accontentiamoci del fatto che bene o male tutto il mondo utilizza l'alfabeto latino, se non altro come secondo alfabeto.

Re: Caratteri accentati nei link...

PostPosted: Sun 06 April 2014; 20:58
by fra74
In realtà non è corretto.

Le entità HTML sono qualcosa di definito all'interno di un testo HTML ma un indirizzo HTTP segue uno standard differente che non le prevede. inoltre la & serve nel protocollo HTTP per separare le variabili di una query. Per esempio con la versione mobile di viaggiatreno per vedere i dettagli del treno 24109 scriverei

Code: Select all
http://mobile.viaggiatreno.it/vt_pax_internet/mobile/scheda?dettaglio=visualizza&numeroTreno=24109


E quindi l'utilizzo di & potrebbe portare a risultati non ben definiti. Se funziona è perché probabilmente a livello di browser o di server si fanno conversioni implicite, magari è una delle caratteristiche di SPDY che ammetto di non conoscere bene, ma è assolutamente qualcosa di non previsto e quindi sarebbe da evitare. Ci sono altri metodi, mai sentito parlare di URL encoding? ;)

Re: Caratteri accentati nei link...

PostPosted: Mon 07 April 2014; 7:56
by EuroCity
^^ Ecco una pagina al riguardo:

http://www.w3schools.com/tags/ref_urlencode.asp

In effetti, molto più semplice con quest'ultimo metodo (nel qual caso il carattere à sarebbe %E0).

Tutto questo però non sarebbe necessario se il BBCode "capisse" i caratteri accentati e simili: ma qui sembra che non si siano fatti progressi ormai da tempo...

Re: Caratteri accentati nei link...

PostPosted: Mon 07 April 2014; 14:18
by fra74
Ma il problema non è tanto il BBCode, quanto il fatto che lo standard HTTP prevede l'utilizzo degli URL e negli URL non è assolutamente previsto l'uso di lettere accentate. Purtroppo è uno standard vecchissimo che andrebbe aggiornato (è in concorso lo sviluppo di HTTP 2.0 ma ci stanno mettendo secoli). Certo il comportamento di PHPBB non è esemplare e si potrebbe fare di meglio (magari facendo un bel URL encoding automaticamente) però il punto è che sarebbe da avitare usare nomi con lettere accentate per tutto quanto poi deve essere trasmesso via protocollo HTTP.

I browser lo fanno già in maniera trasparente... per esempio se io scrivo

Code: Select all
http://it.wikipedia.org/wiki/Città


questo è parte dell'header HTTP che viene inviato al server di wikipedia da chrome

Code: Select all
GET /wiki/Citt%C3%A0 HTTP/1.1
Host: it.wikipedia.org
Accept-Encoding: gzip,deflate,sdch
Accept-Language: it,en-US;q=0.8,en;q=0.6,it-IT;q=0.4
[...]
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36
[...]


quindi come vedete fa già di suo l'encoding... però ripeto è un comportamento non previsto dallo standard quindi io ci starei attento a darlo per scontato ;)