Home arrow Notizie arrow Joomla arrow Collation

logo

Collation PDF Stampa E-mail

Nella vita del webmaster, proprio per i siti web i cui contenuti sono inseriti in un database, prima o poi ci si  scontra con le Collation SQL.

Parto subito con il caso pratico così da rendere subito chiaro il termine.


In un mio sito internet realizzato in Joomla e appoggiato su hosting Aruba e MySQL Aruba, ho inserito il componente !Joomlacomment.
Joomlacomment consente agli utenti, registrati o meno, di inserire commenti agli articoli.
Apparentemente semplice, è invece molto potente perché può agganciarsi a CBuilder, presenta un sistema di censura di parolaccie e invia un’e-mail al moderatore in caso di inserimento di un nuovo commento.

Nel sito in questione tutto sembrava regolare tranne che non accettava le lettere accentate: à, è, è, ì, ò, ù

Era invece possibile scrivere le lettere seguite da un apice: a’, e’, i’, o’, u’

Però per alcuni utenti non veniva riconosciuto neanche l’apice.

Come prima soluzione al problema avevo pensato di utilizzare il filtro delle parolaccie. Ad esempio, impostando stupido=st***do la parola stupido appare come st***do. Quindi ho pensato che se mettevo ò=o’ il problema sarebbe stato risolto.

Invece questo filtro non funzionava. Allora ho provato a mettere §’1=o’ (dove §’1 è il simbolo che mi viene associato alla lettera ò).

Niente da fare.

Ho provato poi il componente (+mambot) Scripta Volant e il mambot mosBadWord che filtrano il testo in uscita consentendo la modifica delle parole. Applicati però ponendo ad esempio Ã²=ò, non funzionano.

 Ho cercato una risposta in internet.
Scoprivo così che il MySQL è disponibile per tutte le lingue del mondo e quindi per set di caratteri diversi (ad esempio, i Tedeschi hanno da gestire il carattere ü, per non parlare dei Greci).

Al set si associa la collation, ovvero la collezione di caratteri utilizzabili.

Sono stati quindi sviluppati diversi formati standard. Quelli più indicati per gli Italiani sono iso…. e latin1….. e UTF8

Per risolvere il problema bastava quindi andare sul PhpMyAdmin di Aruba e cambiare la collation della tabella contenente i comment, ovvero la jos_comment.
Ho girato in lungo e in largo il PhpMyAdmin di Aruba e l’ho poi confrontato con il PhpMyAdmin di altri provider e con quello della stessa versione di Aruba scaricato dal sito ufficiale www.phpmyadmin.net

Ebbene, Aruba non consente il cambio di collation di singole tabelle né di singoli campi, neanche impartendo il comando direttamente in Sql !!!
Nella homepage del PhpMyAdmin Aruba si può cambiare il set di caratteri da utilizzare in quella sessione di lavoro per tutto il database, ma non si può salvarlo come default.

Il mio problema sui commenti del sito internet in questione appariva insoluto.
Finché non ho cambiato provider.
Ora il sito si trova su un provider che lascia liberamente modificare la collation (Siteground).
Ho quindi modificato la collation della tabella jos_comment in utf8_unicode_ci

Finalmente funziona tutto e gli utenti possono sbizzarrirsi in commenti con tutti gli accenti che vogliono Cool

 
< Prec.   Pros. >