Joomla.it Forum

Joomla! 2.5 (versione con supporto terminato) => Joomla! 1.6/1.7/2.5 => : Murphz 08 Nov 2011, 22:56:56

: K2 errore UTF8
: Murphz 08 Nov 2011, 22:56:56
Sto utilizzando la nuova versione 2.5 di k2 su J 1.7.2.
Non mi era mai capitato prima e non so proprio che fare ora  :-X  utilizzando il mod_k2_content per inserire un paio di news in ordine e inserendo l'introtext a un certo tot mi accorgo che non fa le parole accentate.


Dopo un po' di esperimenti (ho provato a convertire tutto l'introtext in utf-8 ecc ecc) scopro che, se non utilizza il wordlimit funziona tutto correttamente altrimenti visualizza ì è ò ù correttamente, il problema rimane sulla à.....sbaglio o è assurdo?
: Re:K2 errore UTF8
: Murphz 08 Nov 2011, 23:28:33
L'errore è nel codice della funzione wordlimit richiamata dal modulo.
Non so in quanti di voi troveranno questo errore ma la soluzione è cambiare cosa lui cerca di sostituire nel testo:


:

function wordLimit($str, $limit = 100, $end_char = '…') {
if (trim($str) == '') return $str;


// always strip tags for text
$str = strip_tags($str);


$find = array("/\r|\n/","/\t/","/\s\s+/");
$replace = array(" "," "," ");
$str = preg_replace($find,$replace,$str);


preg_match('/\s*(?:\S*\s*){'.(int) $limit.'}/', $str, $matches);
if (strlen($matches[0]) == strlen($str))
$end_char = '';
               
return rtrim($matches[0]).$end_char;
}


Ho sostituito:


:
$find = array("/\r|\n/","/\t/","/\s\s+/");


con



:
$find = array("/\r|\n/","/\t/","/\t\s+/");


La soluzione non ha molto senso ma funziona correttamente, premetto che non mi sono mai interessato molto a questi codici, ma da quello che ho visto il \s dovrebbero essere gli spazi bianchi....se qualcuno ha una soluzione migliore mi farebbe piacere  :-\
: Re:K2 errore UTF8
: chil8 22 Nov 2011, 16:01:53
grande Murphz!!! ho appena riscontrato questo problema e spero di risolverlo nella maniera che hai adoperato...
ora, perdonami l'ignoranza  ::) ma non riesco a trovare la funzione wordLimit... mi puoi dire qual'è il file???

grazie mille
saluti
: Re:K2 errore UTF8
: Murphz 22 Nov 2011, 20:09:52
Avevo dimenticato di segnalare il file da modificare, che è components/com_k2/helpers/utilities.php, circa alla riga 65 troverai la funzione wordlimit.

Ripeto che è una soluzione strana, però per quanto mi riguarda ha funzionato senza problemi.

Fammi sapere come va, ciao...
: Re:K2 errore UTF8
: chil8 23 Nov 2011, 11:15:20
grazie mille!!!  :)
ho fatto rapidamente un po' di test e adesso il mod_k2_content sembra funzionare correttamente.

una cosa simile accade anche con il wordlimit del mod_lofk2slideshow che pensavo fosse legato al k2 ma a quanto pare non è così...

apparentemente sembra risolversi sostituendo
:
$string        = preg_replace( "/\s+/", " ", strip_tags($item->introtext) ); con
:
$string        = preg_replace( "/\+/", " ", strip_tags($item->introtext) ); sul file modules/mod_lofk2slideshow/helper.php riga 111

grazie ancora Murphz, mi ha fatto risparmiare ore di lavoro.
ciao
: Re:K2 errore UTF8
: Murphz 23 Nov 2011, 11:19:22
Bene, anche se non riesco a comprendere come togliere la s possa essere la soluzione degli accenti. Se qualcuno un giorno può illuminare questo misfatto sarebbe interessante  ???