11
Nov
2011

Une dernière astuce pour le framework symfony 1.4 :

Configurer doctrine

Pour que vos bases de données soient bien en utf8_unicode_ci, vous devez ajouter la méthode configureDoctrine() au fichier config/ProjectConfiguration.class.php :

<?php

require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this->enablePlugins('sfDoctrinePlugin');
  }

  public function configureDoctrine(Doctrine_Manager $manager)
  {
    $manager->setCollate('utf8_unicode_ci');
    $manager->setCharset('utf8');
  }


}

Commentaires

1. le 11 novembre 2011 (11 h 16), par Marmouchon :

Euh ok mais c'est quoi utf8_unicode_ci par rapport à utf8 ?

Réponse de Manu

Heu… et ba il est beaucoup mieux :) Plus sérieusement, je crois qu'il n'y a que quelques différences sur la façon dont les caractères sont triés.

Note: ton commentaire date du 11/11/11 à 11h16. Presque !

2. le 15 novembre 2011 (12 h 26), par KG :

Les différentes versions des collations permettent surtout d'indiquer comment les résultats sont triés, comment sont pris en compte les caractères spéciaux (comme œ) ou comment ils sont recherchés.

CI indique que la recherche se fait sans prendre en compte la casse "Case Insensitive". Il y a également la version CS.
Il existe également une option concernant les accents (AS/AI => Accent Sensitive/Insensitive).

Ainsi, en fonction de la collation, la condition "WHERE MyCol = 'CouCoù' renverra pas forcément la même chose.

http://msdn.microsoft.com/en-us/library/ms180175.aspx

L'ajout de commentaires est désactivé.

Manu