Всем привет. Подкинули задачку с одним древним сайтом на cakephp. Проблема вот в чем: при редактировании информации на сайте из админ панели весь отредактированный текст на кириллице выводится знаками вопроса.
В файле database.php была строчка 'encoding' => 'windows-1251' поменял на utf-8 - не помогло В phpmyadmin Сопоставление кодировки соединения с MySQL стоит utf8_general_ci. При просмотре кода страницы в браузере с формами редактирования смутила строчка:
<form action="/admin/mototechnics/edit/462" enctype="multipart/form-data" id="MototechnicEditForm" method="post" accept-charset="windows-1251">
Я так понял данные передаются в кодировке 1251. Может быть в этом проблема? И как её исправить? В шаблоне странице редактирования нет строчки с атрибутом accept-charset
Выставьте encoding в параметрах подключения к БД в файле config/app.php:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_app',
'password' => 'sekret',
'database' => 'my_app',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]
],
Документация
Сборка персонального компьютера от Artline: умный выбор для современных пользователей