Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 020 088 раз!

Форум

Добро пожаловать, Гость!

init-connect в *_my.ini

Обсуждение проблем в работе программного комплекса
SagePtr
Сообщения: 5
C нами: 2 мес 10 дней

Непрочитанное сообщение SagePtr » 30 сен 2016, 01:46

Руки бы оторвать за такое.
Кто вообще придумал прописывать SET NAMES в init-connect?
Я знаю, был такой психоз среди быдлокодеров, когда их говноскрипты при переходе на MySQL 4.1 переставали работать из-за введения кодировки, потому что они не осилили функции вроде mysql_set_charset.
Но клиент должен сам решать, в какой кодировке он желает получать данные, навязывать это со стороны сервера глупо. Тем более, такое поведение ломает, к примеру, PDO, где кодировка прописывается в DSN и устанавливается при соединении до этапа init-connect. А также, вероятно, ломает и другие клиенты, которые полагаются на установку кодировки в рукопожатии, а не через SET NAMES.
И все версии PHP кроме 5.2 из этого набора при отсутствии указания кодировки устанавливают ту, которая в character-set-server прописана, только PHP 5.2 почему-то её игнорит, видимо, для неё этот костыль и актуален.
Но ведь при переносе сайта на нормальный хост юзер очень удивится, почему вдруг его сайт перестал работать. Потому я считаю, что этому костылю не место в конфигах OpenServer. Считаю, что опций character-set-server и collation-server достаточно, а init-connect можно в конфиге оставить, но обязательно закомментировать. Кому надо поддерживать жуткое легаси, которое совсем уж не может никак устанавливать кодировку, а только полагаться на серверную - те раскомментируют.

Вернуться в «Ошибки Open Server»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей