Hace poco que estoy empezando a utilizar Symfony 1.4, en un nuevo proyecto, y me encontré con que establece la codificación “latin1″ en forma predeterminada para la creación de las tablas MySQL, con Doctrine.
Navegando encontré el siguiente código, el cual ya he comprobado, para establecer la codificación de caracteres de la conexión de Doctrine.
Editar el archivo config/ProjectConfiguration.class.php
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
$this->enablePlugins('sfDoctrinePlugin');
}
public function configureDoctrine(Doctrine_Manager $manager)
{
$manager->setCollate('utf8_unicode_ci');
$manager->setCharset('utf8');
}
}
Espero les sirva.
Vía Rajat Pandit
Actualización:
Otra alternativa, que nos llega por nervo en los comentarios:
databases.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=********;dbname=********
username: ********
password: ********
attributes:
default_table_type: InnoDB
default_table_collate: utf8_unicode_ci
default_table_charset: utf8
Actualización 2:
Otra alternativa, que nos llega esta vez por kaskas en los comentarios:
schema.yml
options: collate: utf8_unicode_ci charset: utf8 type: InnoDB



![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_c.png?x-id=e5c21cfb-06f1-4510-80e6-51025d994ff6)
You could also set this in database.yml :
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=********;dbname=********
username: ********
password: ********
attributes:
default_table_type: InnoDB
default_table_collate: utf8_unicode_ci
default_table_charset: utf8
Y otra alternativa en el schema.yml
detect_relations: true
options:
collate: utf8_unicode_ci
charset: utf8
type: InnoDB
User:
columns:
Alguna idea de cómo resolver lo de caracteres especiales en el fixture.yml??
al hacer data-load… este no reconoce acentos, eñes y nada de eso…
Saludos!