Хм. Даже если опустить универстальность UTF-8, возможность хранить любые символы из юникода и другие плюсы, то разве Вы ни с json, ни с ajax не работаете?
я всегда с utf8 работаю ) но знаю что json и ajax и в cp1251 работают нормально.
а вот насчет универсальности и возможности хранить любые символы я уже писал выше — если нужен только русский язык, то пофигу.
Вам не стыдно такой код выкладывать? Буквально по каждому методу, ровно как и по всему классу можно написать много-много строчек критики.
> $createTableStr = str_replace($this->_charsetFrom, $this->_charsetTo, $createTableStr);
Это вообще жесть! А если у меня название ячейки содержит строку с кодировкой? (случай клинический, приведен для примера)
вот блин что вы к человеку прикопались??
Если класс работает как ожидается в данном конкретном случае его структура не имеет значения — операция разовая по сути.
А если вы такой ярый стороник перфекционизма так отрефакторите данный код и выложите вашу версию.
Если я пишу маленькую тулу для себя, то я ее напишу как угодно. Если я захочу выложить свой код, то приведу его в порядок. И уж всяко никак не буду комментировать каждую строчку.
Одна колонка будет называться text_cp1251, другая — textCp1251. Как менять будете? Я уж молчу о том, что потом огребешь огромное кол-во проблем с рефакторингом.
Это все равно, что XML обрабатывать не при помощи xpath, а при помощи регулярных выражений.
Не думаю что прогнать все данные разом через 4 пайпа будет медленнее чем по одной записи с копированием в несколько таблиц в похапе.
Про способ могу ошибаться, без форматирвоания не смог разобраться что там происходит :)
Да и в данном случае разница во времени не играет роли, операция разовая, срочности не требующая и если данных мало то и там и там будет быстро, если данных много то от того что вместо 20 минут я буду ждать 30 ничего не случится.
PHP класс для конвертирования кодировки базы Mysql