Страница 1 из 2

init-connect в *_my.ini

Добавлено: 30 сен 2016, 01:46
SagePtr
Руки бы оторвать за такое.
Кто вообще придумал прописывать 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 можно в конфиге оставить, но обязательно закомментировать. Кому надо поддерживать жуткое легаси, которое совсем уж не может никак устанавливать кодировку, а только полагаться на серверную - те раскомментируют.

Re: init-connect в *_my.ini

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

Re: init-connect в *_my.ini

Добавлено: 19 июн 2017, 12:57
Pashik
Видать Вам только одному (или небольшому количеству людей) опция создает проблемы. Иначе бы придали этому значение. И добавлю, что я нейтрально отношусь к "исправлении этой ошибки", сайт на хост переносится без проблем.

Re: init-connect в *_my.ini

Добавлено: 19 июн 2017, 22:06
Максим
SagePtr, где вы увидели ошибку? Конфиг выглядит не так, как вам хочется, но это ваше дело. Конфиг на то и есть, что каждый его настраивает под себя так, как ему хочется.

Re: init-connect в *_my.ini

Добавлено: 19 июн 2017, 22:14
GeekHacker
А сейчас разве ещё адекватные люди юзают что-то кроме UTF-8?

Re: init-connect в *_my.ini

Добавлено: 20 июн 2017, 12:24
Pashik
GeekHacker, например, десктопная версия VK находится в кодировке Windows-1251.

Re: init-connect в *_my.ini

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

Re: init-connect в *_my.ini

Добавлено: 20 июн 2017, 13:20
Pashik
GeekHacker, тут я с вами согласен.

Re: init-connect в *_my.ini

Добавлено: 27 авг 2017, 12:37
SagePtr
Максим писал(а):SagePtr, где вы увидели ошибку? Конфиг выглядит не так, как вам хочется, но это ваше дело. Конфиг на то и есть, что каждый его настраивает под себя так, как ему хочется.
Да хотя бы ломает параметр charset= в PDO. И нигде об этом не предупреждено. Приходится самому догадываться, с чего это вдруг параметр, который везде работает с теми же версиями php, pdo, mysql, вдруг отказывается работать в OpenServer, и искать, где же подлянка.

Re: init-connect в *_my.ini

Добавлено: 29 авг 2017, 00:00
DelphinPRO
Абсолютно согласен с топик-стартером.