Настройка соединения с БД и UTF-8


doctrine, connection, params, UTF-8


    .

Открываем конфигурационыый файл «имя_сайта\vendor\DoctrineORMModule\config\ module.config». Находим эту секцию:


        'connection' => array(
            'orm_default' => array(
                'configuration' => 'orm_default',
                'eventmanager'  => 'orm_default',
 
                'params' => array(
                    'host'     => 'localhost',
                    'port'     => '3306',
                    'user'     => 'username',
                    'password' => 'password',
                    'dbname'   => 'database',
                )
            ),
        ),

И прописываем свои настройки.

Username – имя пользователя БД

Password – пароль для подключения к БД

Database – имя БД

Эти настройки вы устанавливаете сами, если работаете на локальной машине, либо получаете у хостера, при переносе сайта в интернет.

Если же сайт будет мультиязычный или основной язык на сайте будет не английский, то для коректного отображения символов нужно еще настроить кодировку, с которой связываться с БД.

В той же секции, через запятую дописываем еще пару строк. В итоге получится вот так:

        'connection' => array(
            'orm_default' => array(
                'configuration' => 'orm_default',
                'eventmanager'  => 'orm_default',
 
                'params' => array(
                    'host'     => 'localhost',
                    'port'     => '3306',
                    'user'     => 'username',
                    'password' => 'password',
                    'dbname'   => 'database',
                    'charset'  => 'utf8',
                    'driverOptions' => array(
                        1002 => 'SET NAMES utf8'
                    ),
                )
            ),
        ),

И не забываем, что при создании БД и таблиц в ней нужно обязательно указать кодировку вручную, либо проверить, что б  по умолчанию стояла UTF-8 !

Там много будет разных UTF-8. Я указываю всегда «utf8_general_ci». Проблем никогда не было.


Автор статьи: DuB