Doctrine 2, UTF8

Открываем код. Находим файл doctrine-dbal/lib/Doctrine/DBAL/Schema/Schema.php

ищем строку “new Table“. Она там одна, код выглядит как-то так:

<?php
/**
     * Create a new table
     * 
     * @param  string $tableName
     * @return Table
     */
    publicfunction createTable($tableName)
    {
        $table=new Table($tableName);
        $this->_addTable($table);
        return$table;
    }
?>

Добавляем в конструктор объекта Table параметры:

array(),array(),array(),0,array('charset'=>'utf8','collate'=>'utf8_general_ci')

Получится что-то типа такого:

<?php
/**
     * Create a new table
     * 
     * @param  string $tableName
     * @return Table
     */
    publicfunction createTable($tableName)
    {
        $table=new Table($tableName,array(),array(),array(),0,array('charset'=>'utf8','collate'=>'utf8_general_ci'));
        $this->_addTable($table);
        return$table;
    }
?>

скопировано с: http://png-tech.blogspot.com/2011/09/utf8-doctrine-2.html

Advertisements

2 Responses to Doctrine 2, UTF8

  1. Я просто на mysql сервере выставил кодировку по-умолчанию и доктрина создает таблицы как надо, в utf8_general_ci.

    • eddifisher says:

      Это тоже выход, но я тогда не знал в чем может быть ошибка, и если у тебя как раз необходимо иметь разные кодировки, то править мускул тут явно нельзя, да и в простых случаях тоже не желательно.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: