Acentos, ñ, y caracteres UTF-8 en CakePHP 1.2 y MySQL

Agosto 16th, 2008  |  Published in CakePHP  |  2 Comments

Cuando utilizo CakePHP 1.2, la mayoria de las veces obtengo errores en los acentos, ñ, o caracteres especiales UTF-8 al momento de extraer la información de una tabla MySQL latin1, el problema principal es que olvido poner SET NAMES UTF-8 a cada una de las llamadas a la base de datos, así como poner el charset=utf-8 en el layout.

La solucion es:

En mi views/layouts/default.ctp, entre los tags de <head> y </head>:

echo $html->charset('utf-8');

Y crear el archivo app_model.php en el folder app/ con el siguiente contenido:

class AppModel extends Model {
 
	function __construct()
	{
		parent::__construct();
		$this->query("SET NAMES 'utf8'");
	}
}

Nota: Primero va el parent::__construct(); ya que antes de que podamos ejecutar cualquier query en el modelo (o usar $this), éste debe de ser instanciado.

Esto ejecutará por default SET NAMES ‘utf-8′ en todas las queries… no es una forma ideal pero saca del problema.

Compartir:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • MySpace
  • Netvibes
  • Turn this article into a PDF!
  • Reddit
  • RSS
  • Slashdot
  • StumbleUpon
  • Twitter

Responses

  1. DERRICK says:

    Julio 20th, 2010 at 6:10 pm (#)


    Medicamentspot.com. Canadian Health&Care.No prescription online pharmacy.Special Internet Prices.Best quality drugs. No prescription drugs. Buy drugs online

    Buy:Lumigan.Synthroid.Prevacid.Human Growth Hormone.Zovirax.Prednisolone.Valtrex.Zyban.Arimidex.Mega Hoodia.Accutane.Retin-A.Nexium.Actos.100% Pure Okinawan Coral Calcium.Petcam (Metacam) Oral Suspension….

  2. NEIL says:

    Julio 21st, 2010 at 9:25 am (#)


    MedicamentSpot.com. Canadian Health&Care.No prescription online pharmacy.Best quality drugs.Special Internet Prices. No prescription drugs. Order pills online

    Buy:Seroquel.Female Pink Viagra.Ventolin.Acomplia.Nymphomax.Zocor.Female Cialis.SleepWell.Lipothin.Aricept.Amoxicillin.Benicar.Advair.Lasix.Wellbutrin SR.Prozac.Zetia.Cozaar.Buspar.Lipitor….

Leave a Response

You must be logged in to post a comment.