Я разрабатываю php
а также mysql
приложение.
Когда я использую internet explorer
он работает нормально, я вижу информацию с помощью acent .. p.e Visión
но с хромом он работает иначе. Я вижу что-то вроде 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ó 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 в documentmento.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(!($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;
}
}
я пытался с mysql_query("SET NAMES 'utf8'");
$str = htmlentities($str);
и больше строк кода, но они не работают ..
Может ли кто-нибудь помочь мне?
Почему он работает на Chrome и Explorer?
Спасибо!
Убедитесь, что вы правильно настраиваете кодировку символов. Два варианта для этого:
В 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, выберите вкладку «Сеть» и загрузите страницу. Когда вы нажимаете на запрос вашей страницы, убедитесь, что в заголовках ответа нет другой кодировки, такой как ISO-8859-1.
Других решений пока нет …