среда, 16 октября 2013 г.

php* cms и кодировки

Что то так сложились звезды, что каждый день приходится копаться с разными php движками.

Не иначе как кто то меня проклял.

Каждый день, по результату копания в этом шлаке, мне хочется разразится целой статьей на тему того как делать нельзя. 
Каждый день, я думаю, все, хуже быть уже не может. Но наступает новый день, и новые ребята берут рекорд.

Только расправишься с какой нить Abo cms, подивишься полету мысли, как появляется shogo cms, и все - новая точка отсчета.

Уважаемые разработчики, если так получилось что база у вас utf8, а страницы win1251, то не надо писать обертки над mysql_query, не надо, каждое varchar поле перекодировать через iconv, база данных сама, с удовольствием отдаст вам данные в той кодировке, в который вы захотите принять.

Если же у вас часть страниц utf8, часть в win1251 и это абсолютно случайно внутри одного модуля, и поэтому в некоторых страницах вы перекодируете обратно после своей же обертки над бд - то тут я не знаю что посоветовать. 
Кроме разве что одного. 
Над всей вашей бригадой россияно-индусов, вам нужен один человек далекий от ИТ, но с большим кнутом.
Каждый раз, как pre-commit-hook ловит 1251, загорается лампочка, и он бьет вас кнутом.
За смешное время вы задумаетесь, а зачем вам все это? И это будет правильным вопросом.


Про pre-commit-hook шутка конечно.
За три недели копания в php движках, я видел систему контроля версия одного типа: "если не забыл, сделай копию с суффиксом .old".