hola compañeros estoy realizando un buscador para mi web utilizo una base de datos en mysql version 5 utilizando para los campos de busqueda la funcion fulltext de las tablas myisam, el campo con fulltex se llama descripcion, en ella utiliso carateres de html hay les pongo un registro.

descripcion
El Museo del Prado es una de las pinacotecas más importantes del mundo, y cuenta con una inigualable colección de pintura española, italiana y flamenca. Está situado en Madrid, (España). Junto con otros dos centros, el Museo Thyssen-Bornemisza y el Museo

Como pueden ver las tildes y las ñ estan en codigo html.

el codigo de la busqueda es la siguiente:

Código :

//$busqueda es la palabra q voy a buscar dentro de descripcion
$sql = "SELECT cod_link FROM link where MATCH(descripcion) AGAINST('$busqueda' IN BOOLEAN MODE)";
   $resultado=$miconexion->consulta($sql); 
        $num_total_registros =$miconexion->numRows($resultado);
   if($num_total_registros!=0 && $pagina>0){
   $total_paginas = ceil($num_total_registros / $tamano_pagina);
//esta consulta es para inprimir una imagen un titulo de la descripcion y limitar la paginacion   
$ssql = "SELECT * FROM link,link_categoria,sitio where MATCH(link.descripcion) AGAINST('$busqueda' IN BOOLEAN MODE) and  link_categoria.cod_link=link.cod_link and link.cod_sitio=sitio.cod_sitio limit " . $inicio . "," . $tamano_pagina; 
   $resultado=$miconexion->consulta($ssql); 
   while($row = $miconexion->getFilasArreglo($resultado))
    { 
   //poner en negrita la palabra de la busqueda
   $trozos = explode(" ", $row["descripcion"]);
   $espacios=1;
      for($n=0;$n<(strlen($row["descripcion"]));$n++)
      {
         if(($row["descripcion"][$n])==' '){$espacios=$espacios+1;}
   
         } 
      ?>
<table border="0" cellpadding="0" cellspacing="4" width="100%">
<tbody><tr>
<td class="fondoazul_claro centrartexto" width="165" align="center">
<a href="<?php echo ($row["nombre_link"]);?>" target="_blank">
<img src="<?php echo ($row["imagen_sitio"]);?>" alt="<?php echo ($row[   "nombre_sitio"]);?>"    title="<?php echo ($row["nom_video"]);?>" border="0" width="150"/>
</a></td>
<td class="fondogris">
<h3><?php echo ($row["nombre_sitio"]);?></h3>
<p><?php 
//aqui es donde doy las condiciones para imprimir la $busqueda en un color rojo dentro de la descripcion
for($j=0;$j<$espacios;$j++)
      {
      if((!strcasecmp ($trozos[$j],$busqueda.".")) || (!strcasecmp($trozos[$j],$busqueda)) || (!strcasecmp($trozos[$j],$busqueda.",")) || (!strcasecmp($trozos[$j],"<".$busqueda.">")) || (!strcasecmp($trozos[$j],"'".$busqueda."'")) || (!strcasecmp($trozos[$j],$busqueda.";")) || (!strcasecmp($trozos[$j],$busqueda.":")) || (!strcasecmp($trozos[$j],$busqueda."-")) || (!strcasecmp($trozos[$j],'"'.$busqueda.'"')) || (!strcasecmp($trozos[$j],'('.$busqueda.')')) || (!strcasecmp($trozos[$j],'('.$busqueda)) || (!strcasecmp($trozos[$j],$busqueda.')')))
      {
      echo "<b class='textorojo'> ".$trozos[$j]."</b>";   
      $j++;
      }
echo " ".$trozos[$j];//strcasecmp Comparación de cadenas insensible a mayúsculas y minúsculas
}    

?></p>


el problema es el siguiente:
la busqueda de palabras sin signos de acento la realiza muy bien y las pone en color rojo.
cuando la palabra de busqueda lleva signo de acento o esta con ñ no me realiza la busqueda para este problema utiliza el siguiente codigo antes de hacer la busqueda en la base de datos.

Código :

$busqueda=htmlentities($busqueda);//htmlentities Convierte todos los caracteres a su entidad HTML aplicable
 


listo con esto me busca las palabras con signo de acento y ñ, pero el problema es que busca todas las palabras con ñ y no la palabra especifica

ejemplo:
$busqueda="ocaña";
el resultado es todas las palabras con ñ= españa, ocaña, caña...
y no me pone en color rojo la palabra
de antemano les agradesco y perdon por esta larga explicacion
:shock: :crap: