21
Ene

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]

, , ,

5 Responses to “UTF8 con Doctrine en Symfony 1.4”

  • nervo

    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

  • kaskas

    Y otra alternativa en el schema.yml

    detect_relations: true
    options:
    collate: utf8_unicode_ci
    charset: utf8
    type: InnoDB

    User:
    columns:

  • John

    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!

  • Estamos buscando ingenieros de sistemas que conozcan Simfony 1.4. (Doctrine) para trabajar en Bogotá Colombia, interesados enviar hoja de vida indicando su aspiración salarial y disponibilidad al email info@rtisas.com.co

Add reply