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->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()); } } return true; } else { throw new KumbiaException($this->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.