X
    Categories: Notas

Kumbiaphp problemas con los acentos SOLUCION

Siempre me se hacia extraño por que kumbia al momento de guarda en la base de datos me lo hacia con caracteres extraños ya que en config.ini tenia configurado el charset = UTF-8 y con eso no deberia guardar con con string por ejemplo:

josé Martínez

Cuando no hacemos toda la web sin alimentar a otra aplicacion exterior esta bien pero cuando alimentamos a otra aplicacion que no debe utilizar esos caracteres raros tenemos un problema que la solucion es tan simple en config.ini cambiar el charset y dejarlo asi:

charset = ISO-8859-1

si se que mucho pueden decir que se debe hacer con UTF8 pero ya ven que no funciona en la practica este cambio soluciona todo el problema ya que nos comienza a guardar correctamente todos los caracteres.
revisen que en sus templates el charset este de esta manera

<meta http-equiv=’Content-type’ content=’text/html; charset=<?php echo APP_CHARSET ?>’ />

esto ya viene asi por defecto pero es para que lo tengan en cuenta si es que modificaron.

UPDATE:

Descubri una nueva forma para solucionar y me parece la mas optima primero debemos abrir el siguiente archivo que esta en la ruta \core\libs\db\adapters\mysql.php ahora editamos el archivo mysql.php la linea 113
se encuentra la funcion de coneccion al mysql

asi tenemos

public function connect($config){
 
		if(!extension_loaded('mysql')){
			throw new KumbiaException('Debe cargar la extensión de PHP llamada php_mysql');
		}
		if(!isset($config['port']) || !$config['port']) {
			$config['port'] = 3306;
		}
 
		if($this-&gt;id_connection = mysql_connect("{$config['host']}:{$config['port']}", $config['username'], $config['password'], true)){
			if($config['name']!=='') {
				if(!mysql_select_db($config['name'], $this-&gt;id_connection)){
					throw new KumbiaException($this-&gt;error());
				}
 
			}
			return true;
		} else {
			throw new KumbiaException($this-&gt;error());
		}
	}

y agregamos mysql_query(«set names ‘utf8′»);

public function connect($config){

		if(!extension_loaded('mysql')){
			throw new KumbiaException('Debe cargar la extensión de PHP llamada php_mysql');
		}
		if(!isset($config['port']) || !$config['port']) {
			$config['port'] = 3306;
		}

		if($this->id_connection = mysql_connect("{$config['host']}:{$config['port']}", $config['username'], $config['password'], true)){
			if($config['name']!=='') {
				if(!mysql_select_db($config['name'], $this->id_connection)){
					throw new KumbiaException($this->error());
				}

			}
                        mysql_query("set names 'utf8'"); 
			return true;
		} else {
			throw new KumbiaException($this->error());
		}
	}

y asi una solucion definitiva a este problema.

Luis Rodriguez: Hola, Soy Luis Rodriguez, radico en Lima – Perú, formado en una carrera informática, desempeñando desde el 2007 como programador web y viendo proyectos desde Front End y Back End a lo que me perfile como Full Stack. Esta Experiencia junto a mi interés en la Analítica Web me ayudó mucho entender el funcionamiento interno de las herramientas de analítica, con las que vengo trabajo activamente desde 2017. Linkedin