Foros del Web » Programando para Internet » PHP »

Problema con UTF8 en PHP y Javascript

Estas en el tema de Problema con UTF8 en PHP y Javascript en el foro de PHP en Foros del Web. Buenas noches colegas! voy a tratar de describir mi inconveniente lo mas claramente posible ya que intente resolverlo de varias formas no encuentro solucion. El ...
  #1 (permalink)  
Antiguo 11/01/2012, 21:29
 
Fecha de Ingreso: enero-2012
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Problema con UTF8 en PHP y Javascript

Buenas noches colegas! voy a tratar de describir mi inconveniente lo mas claramente posible ya que intente resolverlo de varias formas no encuentro solucion.

El una aplicacion web creada con php, mysql (myphpadmin of course) y este esta lleno de formularios para los cuales utilizo un metodo de autocomplete. Bueno el problema es con los acentos y ñ, pero no sobre los datos que cargo cuando busco una pagina, sino sobre los datos que se muestran en el autocomplete y viceversa, cuando busco un dato con acento no lo entiende.

Paso a explicar con imagenes y codigos



en la imagen se pueden apreciar 2 cosas, una que el error aparece sobre el div de busqueda o autocomplete que aparece al buscar una letra, y la otra es que sobre el fondo existe una lista que se busco previamente, la cual esta con acentos y no tiene ningun inconveniente.

La funcion del autocomplete seria la siguiente:
Código PHP:
<?php require_once('../Connections/DNPOIC_db.php'); 

    
$db = new mysqli($hostname_DNPOIC_db$username_DNPOIC_db ,$password_DNPOIC_db$database_DNPOIC_db);
    
    if(!
$db) {

        echo 
'ERROR: Could not connect to the database.';
    } else {

        if(isset(
$_POST['queryString'])) {
            
$queryString $db->real_escape_string($_POST['queryString']);
            
$tabla $db->real_escape_string($_POST['tabla']);
            
$columna $db->real_escape_string($_POST['columna']);
            
$fill $db->real_escape_string($_POST['fill']);

            if(
strlen($queryString) >0) {
            
                
                
$query $db->query("SELECT distinct ".$columna." FROM ".$tabla." WHERE ".$columna." LIKE '$queryString%' order by ".$columna." LIMIT 10");
                if(
$query) {
                    
                    while (
$result mysqli_fetch_object($query)) {
                        
                        
                         echo 
'<li align="left" style="line-height:10px" onClick="'.$fill.'(\''.$result->$columna.'\');">'.$result->$columna.'</li>';
                     }
                    
                } else {
                    echo 
'ERROR: There was a problem with the query.';
                }
            } else {
                
// Dont do anything.
            

        } else {
            echo 
'There should be no direct access to this script!';
        }
    }
    
    include 
"../Connections/cerrarconexion.php";
?>
y el metodo de javascript (jquery) que utilizo es el siguiente:

Código HTML:
<script language="javascript" type="text/javascript">

	function ListaOrganismo(inputString) {
		if(inputString.length == 0) {
			// Hide the suggestion box.
			$('#OrganismoListaDiv').hide();

		} else {
			$.post("../autocompletes/autocomplete.php", {queryString: ""+inputString+"", tabla: "orgorganismos", columna: "Org_NombreEsp", fill: "fillOrganismo"}, function(data){
				if(data.length >2) {
					$('#OrganismoListaDiv').show();
					$('#OrganismoLista').html(data);
				}
				else
				{
					$('#OrganismoListaDiv').hide();
					OrganismoDeshacerLista();
				}
			});
		}
	} // lookup
	
	
	function fillOrganismo(thisValue) {

		if(thisValue!=""){
			$('#Organismo').val(thisValue);
			setTimeout("$('#OrganismoListaDiv').hide();", 200);
		}
			
	}
		
	function OrganismoDeshacerLista(){
			$('#OrganismoLista').css({
				'border': '',
				'border-width':''
			});
	}

</script> 

Esta puesto todo el sitio, header y base de datos en UTF8. Me volvi loco poniendo el utfdecode y todo ese tipo de parches pero no encontre solucion, si alguno tiene alguna idea, ya se los estoy agradeciendo!

Espero alguna respuesta. Saludos
  #2 (permalink)  
Antiguo 11/01/2012, 21:32
 
Fecha de Ingreso: enero-2012
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Problema con UTF8 en PHP y Javascript

no se porque no aparece la imagen, pero la voy a volver a poner por las dudas



http://imageshack.us/photo/my-images/220/errorxv.jpg/

Última edición por braianj; 11/01/2012 a las 21:38 Razón: no aparecio la imagen anterior
  #3 (permalink)  
Antiguo 12/01/2012, 05:35
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 20 años, 1 mes
Puntos: 2
Respuesta: Problema con UTF8 en PHP y Javascript

Probaste con?

Código PHP:
Ver original
  1. echo '<li align="left" style="line-height:10px" onClick="'.$fill.'(\''.utf8_encode($result->$columna).'\');">'.utf8_encode($result->$columna).'</li>';
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #4 (permalink)  
Antiguo 12/01/2012, 09:28
 
Fecha de Ingreso: enero-2012
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Problema con UTF8 en PHP y Javascript

Cita:
Iniciado por Lord of freaks Ver Mensaje
Probaste con?

Código PHP:
Ver original
  1. echo '<li align="left" style="line-height:10px" onClick="'.$fill.'(\''.utf8_encode($result->$columna).'\');">'.utf8_encode($result->$columna).'</li>';
hola Lord of freaks! gracias por tu pronta respuesta habia probado antes y no funcionaba, pero me funciono exacto como me lo pusiste. mil gracias. creo que el error era que estaba probando decode.

ahora otra consulta, en donde tendria que poner el decode para que me tome si le pongo acentos?

Saludos

Etiquetas: acentos, caracteres-especiales, javascript, jquery, utf-8
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




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