2015-11-24 44 views
3

我正在開發一個phpmysql應用程序。鉻和探險家的口音作品不同

當我使用internet explorer它工作正常,我看到與acent信息..體育專業Visión

但鉻它工作diferent。我看到類似Visión

它保存我的utf8_general_ci數據庫上的記錄。

的代碼從我的形式得到我的數據是:

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; 
      } 
     }); 
    } 

這是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); 

我有這樣的LOC在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; 
     } 
    } 

和這是我的連接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(!([email protected]_connect($this->servidor,$this->usuario,$this->clave))){ 
      echo "Error al conectar a la base de datos"; 
      exit(); 
     } 
     if([email protected]_select_db($this->basedatos,$con)){ 
      echo "Error al seleccionar la base de datos"; 
      exit(); 
     } 
//  mysql_query("SET NAMES 'utf8'"); 

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

我試着用mysql_query("SET NAMES 'utf8'");$str = htmlentities($str);

多的代碼行,但他們不工作..

有人能幫助我嗎?

爲什麼它在鉻和資源管理器上不同?

謝謝!

+0

如何聲明生成的HTML頁面的編碼? –

+0

我不這樣做@ A.L – Mary

+1

那麼你應該嘗試一下。是否聲明編碼是UTF-8更改輸出? –

回答

0

確保您正確設置了字符編碼。這樣做有兩個選項:

在HTML

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

或者在PHP

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

還需確保您的託管環境未覆蓋您的設置;在Chrome中打開Inspector,選擇網絡選項卡,然後加載您的頁面。當你點擊頁面的請求時,確保響應頭沒有任何其他編碼,例如ISO-8859-1列出。