init-connect в *_my.ini

Обсуждение проблем в работе программного комплекса
SagePtr
Сообщения: 29
Зарегистрирован:
27 сен 2016, 01:10

init-connect в *_my.ini

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 можно в конфиге оставить, но обязательно закомментировать. Кому надо поддерживать жуткое легаси, которое совсем уж не может никак устанавливать кодировку, а только полагаться на серверную - те раскомментируют.
SagePtr
Сообщения: 29
Зарегистрирован:
27 сен 2016, 01:10

Re: init-connect в *_my.ini

SagePtr » 19 июн 2017, 08:01

Ребята, будете исправлять эту ошибку? Выкачал последнюю версию OpenServer, а там до сих пор осталась данная строчка в конфигах.
Pashik

Re: init-connect в *_my.ini

Pashik » 19 июн 2017, 12:57

Видать Вам только одному (или небольшому количеству людей) опция создает проблемы. Иначе бы придали этому значение. И добавлю, что я нейтрально отношусь к "исправлении этой ошибки", сайт на хост переносится без проблем.
Аватара пользователя
Максим
Сообщения: 5474
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: init-connect в *_my.ini

Максим » 19 июн 2017, 22:06

SagePtr, где вы увидели ошибку? Конфиг выглядит не так, как вам хочется, но это ваше дело. Конфиг на то и есть, что каждый его настраивает под себя так, как ему хочется.
GeekHacker
Сообщения: 131
Зарегистрирован:
24 авг 2015, 15:22

Re: init-connect в *_my.ini

GeekHacker » 19 июн 2017, 22:14

А сейчас разве ещё адекватные люди юзают что-то кроме UTF-8?
Pashik

Re: init-connect в *_my.ini

Pashik » 20 июн 2017, 12:24

GeekHacker, например, десктопная версия VK находится в кодировке Windows-1251.
GeekHacker
Сообщения: 131
Зарегистрирован:
24 авг 2015, 15:22

Re: init-connect в *_my.ini

GeekHacker » 20 июн 2017, 12:44

Да, я знаю. Но всегда считал это вселенской глупостью. В прочем, наверное, там есть свои причины. В любом случае, в настоящее время не вижу объективных причин юзать что-то кроме UTF-8.
Pashik

Re: init-connect в *_my.ini

Pashik » 20 июн 2017, 13:20

GeekHacker, тут я с вами согласен.
SagePtr
Сообщения: 29
Зарегистрирован:
27 сен 2016, 01:10

Re: init-connect в *_my.ini

SagePtr » 27 авг 2017, 12:37

Максим писал(а):SagePtr, где вы увидели ошибку? Конфиг выглядит не так, как вам хочется, но это ваше дело. Конфиг на то и есть, что каждый его настраивает под себя так, как ему хочется.
Да хотя бы ломает параметр charset= в PDO. И нигде об этом не предупреждено. Приходится самому догадываться, с чего это вдруг параметр, который везде работает с теми же версиями php, pdo, mysql, вдруг отказывается работать в OpenServer, и искать, где же подлянка.
Аватара пользователя
DelphinPRO
Сообщения: 824
Зарегистрирован:
01 фев 2012, 17:27
Откуда: Самара
Контактная информация:

Re: init-connect в *_my.ini

DelphinPRO » 29 авг 2017, 00:00

Абсолютно согласен с топик-стартером.
Ответить