3

Im developing a php and mysql app.

When i use internet explorer it works fine i see the information with the acent.. p.e Visión

but with chrome it works diferent. I see something like Visión

it saves records on my utf8_general_ci database.

The code to get my data from my form is:

objetivos = document.getElementById('objetivos').value; 
//i get them in the same way (objetivos, mision, vision...  and more)

$.ajax({
            url: 'user/save.php',  
            type: 'GET',
            data: "id_emprendedor="+id_emprendedor+"&descripcion="+descripcion+"&mision="+mision+"&vision="+vision+"&objetivos="+objetivos,
            cache: false,
            contentType: false,
            processData: false,
            beforeSend: function(){

                document.getElementById('descripcionProyecto').innerHTML="<span class='before'>Guardando Información. Espere...</span>";       
            },
            success: function(data){
                document.getElementById('descripcionProyecto').innerHTML="<span class='success'>Guardado.</span>"; 
            },
            error: function(data){
                document.getElementById('descripcionProyecto').innerHTML="<span class='error'>Ocurri&oacute; un error.</span>"+data.error; 
            }
        });
    }

this is save.php

 require_once('../../clases/documento.php');
 $id_emprendedor=$_GET['id_emprendedor']; 
 $descripcion=$_GET['descripcion']; 
 $mision=$_GET['mision']; 
 $vision=$_GET['vision']; 
 $objetivos=$_GET['objetivos']; 


 $ojbDocumento = new Documento;
 $consulta= $ojbDocumento->guardaDescripcionProyecto($id_emprendedor,$descripcion,$mision,$vision,$objetivos);

I have this loc in documento.php

function guardaDescripcionProyecto($id_emprendedor,$descripcion,$mision,$vision,$objetivos)
    {
        if($this->conexion->conectar()==true){
            $info=mysql_query("SELECT * from descripcion_proyecto where idacceso_acceso=$id_emprendedor");
            if(mysql_num_rows($info)>0) 
            {
            mysql_query("UPDATE descripcion_proyecto set descripcion_descripcion_proyecto='".$descripcion."', mision_descripcion_proyecto='".$mision."', vision_descripcion_proyecto='".$vision."', objetivos_descripcion_proyecto='".$objetivos."' WHERE idacceso_acceso=$id_emprendedor");
            }else
            {

            mysql_query("INSERT INTO descripcion_proyecto (idacceso_acceso, descripcion_descripcion_proyecto, mision_descripcion_proyecto, vision_descripcion_proyecto, objetivos_descripcion_proyecto) VALUES ($id_emprendedor, '".$descripcion."','".$mision."','".$vision."','".$objetivos."' )");
            }
            return true;
        }
    }

and this is my connection loc:

class ManejadorDB{
    var $conect;
    var $basedatos;
    var $servidor;
    var $usuario;
    var $clave;
    function ManejadorDB(){
        $this->servidor = "localhost";
        $this->basedatos = "user_info";
        $this->usuario = "root";
        $this->clave = "3demary2015";
    }

    function conectar(){

        if(!($con=@mysql_connect($this->servidor,$this->usuario,$this->clave))){
            echo "Error al conectar a la base de datos";
            exit();
        }
        if(!@mysql_select_db($this->basedatos,$con)){
            echo "Error al seleccionar la base de datos";
            exit();
        }
//      mysql_query("SET NAMES 'utf8'");

        $this->conect=$con;
        return true;
    }
}

i tried with mysql_query("SET NAMES 'utf8'"); $str = htmlentities($str);

and more codelines but they dont work..

Could somebody help me?

Why it works diferent on chrome and explorer?

thanks!

Mary
  • 31
  • 1

1 Answers1

0

Make sure you're setting your character encoding properly. Two options for doing this:

In HTML

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta charset="utf-8"/>

Or in PHP

header("Content-Type: text/html;charset=utf-8");

Make sure also that your hosting environment is not overriding your settings; open up the Inspector in Chrome, select the Network tab, and then load your page. When you click on your page's request, make sure the Response Headers don't have any other encoding such as ISO-8859-1 listed.

miken32
  • 42,008
  • 16
  • 111
  • 154