Foros del Web » Programando para Internet » Jquery »

Autocomplete jquery acentos

Estas en el tema de Autocomplete jquery acentos en el foro de Jquery en Foros del Web. Que tal amigos del foro, quisiera ver si es posible me puedan brindar su apoyo para un sistema que ando realizando de busqueda, la busqueda ...
  #1 (permalink)  
Antiguo 18/10/2010, 19:00
 
Fecha de Ingreso: julio-2009
Mensajes: 29
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación Autocomplete jquery acentos

Que tal amigos del foro, quisiera ver si es posible me puedan brindar su apoyo para un sistema que ando realizando de busqueda, la busqueda me lo hace bien y todo el problema es que me han pedido que como google se haga un autocompletable, si me sale con jquery pero el detalle biene cuando intento escribir caracteres especiales, he ahi cuando me falla ya que me muestra caracteres raros, buscando desde el sabado pasado he encontrado un codigo el cual me da los acentos y las ñ's pero solo funciona con palabras estaticas, les muestro el codigo:

Código HTML:
<meta charset="utf-8">
    
    
    
    
    
    
    
    
    <script>
    $(function() {
        var names = [ "Jörn Zaefferer", "Scott González", "John Resig" ];

        var accentMap = {
            "á": "a",
            "ö": "o"
        };
        var normalize = function( term ) {
            var ret = "";
            for ( var i = 0; i < term.length; i++ ) {
                ret += accentMap[ term.charAt(i) ] || term.charAt(i);
            }
            return ret;
        };

        $( "#developer" ).autocomplete({
            source: function( request, response ) {
                var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
                response( $.grep( names, function( value ) {
                    value = value.label || value.value || value;
                    return matcher.test( value ) || matcher.test( normalize( value ) );
                }) );
            }
        });
    });
    </script>



<div class="demo">

<div class="ui-widget">
    <form>
    <label for="developer">Developer: </label>
    <input id="developer" />
    </form>
</div>

</div><!-- End demo -->



<div class="demo-description">
<p>The autocomplete field uses a custom source option which will match results that have accented characters even when the text field doesn't contain accented characters. However if the you type in accented characters in the text field it is smart enough not to show results that aren't accented.</p>
<p>Try typing "Jo" to see "John" and "Jörn", then type "Jö" to see only "Jörn".</p>
</div><!-- End demo-description --> 
Esto funciona perfectamente hasta que se intenta adaptar a uno con palabras dinamicas recogidas de una busqueda les muestro el codigo:

Código HTML:
 <script type="text/javascript">
    $(function() {
        
        function split( val ) {
            return val.split( /,\s*/ );
        }
        function extractLast( term ) {
            return split( term ).pop();
        }
        
        var accentMap = {
            "á": "a",
            "ö": "o",
            "ñ": "n",
            "é": "e",
            "í": "i",
            "ó": "o",
            "ú": "u",
            };
            var normalize = function( term ) {
                var ret = "";
                for ( var i = 0; i < term.length; i++ ) {
                    ret += accentMap[ term.charAt(i) ] || term.charAt(i);
                }
                return ret;
            }
            
        $( "#search" ).autocomplete({
            source: function( request, response ) {
                var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
                response( $.grep( $.getJSON( "ajax_palabra.php", {
                    term: extractLast( request.term )
                }, response), function( value ) {
                    value = value.label || value.value || value;
                    return matcher.test( value ) || matcher.test( normalize( value ) );
                }) );
            },
            search: function() {
                // custom minLength
                var term = extractLast( this.value );
                if ( term.length < 2 ) {
                    return false;
                }
            },
            focus: function() {
                // prevent value inserted on focus
                return false;
            }            
        });
    });


    </script> 
como se daran cuenta he intentado de adaptarlo y es obio que con resultados no esperados, ya que me sigue mostrando los caracteres especiales con signos raros.

Ya andube viendo bastantes codigos y que el utf y &ntilde; no funcionan el unico que me ha funcionado para mostrarlos bien es el primer codigo que puse pero despues ya no se bien como adaptarlo, si me pueden ayudar estare sumamente agradecido :( :(
  #2 (permalink)  
Antiguo 19/10/2010, 10:51
 
Fecha de Ingreso: julio-2009
Mensajes: 29
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Autocomplete jquery acentos

Que onda amigos, alguno sabe, ando un poco desesperado :(
  #3 (permalink)  
Antiguo 19/10/2010, 14:33
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 14 años, 11 meses
Puntos: 43
Respuesta: Autocomplete jquery acentos

Yo uso AJAX, y tuve muchos problemas con los acentos, mas de un mes creo. Utilizé la codificacion UTF8, eso soluciona todo.

UTF8 a todo, a los PHP, HTML, javascript, Base de Datos, Servidor Web, etc.
  #4 (permalink)  
Antiguo 18/02/2011, 10:07
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 2
De acuerdo Respuesta: Autocomplete jquery acentos

Hola chicohot20, fijate que ya lo configure absolutamente todo con utf8 (bd, HTML, PHP, Servidor Web, JS), más esto me ha empeorado todo, pues antes las tildes y eñes de la BD se me visualizaban sin problema y ahora no se ven nada bn, lo único que necesito es que el autocomplete de JQuery me traiga los registros con tildes y que las ventanas emergentes me muestren los carácteres especiales bn, más aún no lo consigo ninguna de las dos cosas, sino que antes todo ha empeorado, agradecería si tienes algo más que decir.
  #5 (permalink)  
Antiguo 22/03/2011, 05:05
 
Fecha de Ingreso: enero-2006
Ubicación: Pina (Mallorca -Illes Balears-)
Mensajes: 348
Antigüedad: 18 años, 3 meses
Puntos: 28
Respuesta: Autocomplete jquery acentos

Yo tuve el mismo problema hasta que los campos de texto de las tablas en mysql los codifiqué en utf_general_ci.

Etiquetas: acentos, autocompletado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:23.