+ // tous les caracteres transliterables de $q sont remplaces par un joker
+ // permet de matcher en SQL meme si on est sensible aux accents (SQLite)
+ $q_t = $q;
+ for($i = 0;$i<spip_strlen($q);$i++){
+ $char = spip_substr($q,$i,1);
+ if (!is_ascii($char)
+ AND $char_t = translitteration($char)
+ AND $char_t !== $char){
+ $q_t = str_replace($char,$is_preg?".":"_", $q_t);
+ }
+ }
+
+ $q = $q_t;
+
+ // fix : SQLite 3 est sensible aux accents, on jokerise les caracteres
+ // les plus frequents qui peuvent etre accentues
+ // (oui c'est tres dicustable...)
+ if (isset($GLOBALS['connexions'][$options['serveur']?$options['serveur']:0]['type'])
+ AND strncmp($GLOBALS['connexions'][$options['serveur']?$options['serveur']:0]['type'],'sqlite',6)==0){
+ $q_t = strtr($q,"aeuioc",$is_preg?"......":"______");
+ // si il reste au moins un char significatif...
+ if (preg_match(",[^'%_.],",$q_t))
+ $q = $q_t;
+ }
+
+ return $expression[$key] = array($methode, $q, $preg);