Да бог с Вами, у меня давно есть версия ShopCMS на UTF8. Зачем тащить в светлое будущее проект на cp1251? Куда проще один раз все это переконвертить в UTF (с соответствующей подчисткой). Хотя другие переделки (та же передача параметров по ссылке, получившая новый синтаксис - символ & перед названием переменной) все равно будут нужны.единственное кто этим занимается бадисофт когда находит ошибку он выкладывает ее в своей теме, и ему огромное за это спасибо, и он же отлично как пять пальцев знает движок, почему бы не скинуться коллективно, т.к. за любую работу нужно платить а интернет магазин это изначально коммерческое предприятие, и пусть бадисофт за оплату протестит и переведет стандартный движок на версии php 5.4+
Проблема будет совсем в другом, не в движке. ShopCMS при всей своей изначальной убогости хорош наличием довольно большого бесплатного и платного модульного наполнения. На любой вкус и цвет. Мало кто использует shopCMS в голом виде, без доп. модулей. Кто будет перепиливать их? Вне зависимости, остаемся на cp1251 (проблема с функциями, поменявшими дефолтовую кодировку) или переходим на ShopCMS/UTF8 (переделка всех AJAX-запросов, т.к. больше не нужен iconv) - большинство модулей перестанут быть годными для установки.
Это не так. shopCMS по нынешним реалиям В ПРИНЦИПЕ устарел. То, что в нем делается установкой десятка модулей в современном поддерживаемом авторами или сообществом магазине есть уже изначально. Тот же Gres (просто пример, который тут уже мелькал), который бесплатен до 10 категорий и 50-ти товаров, а дальше не так уж и дорог. На уровне пары моих модулей для shopCMS, которые там уже есть штатно. Также нельзя не вспомнить вполне развивающийся OpenCart, если я правильно помню название. Он (если я не путаю) вообще на shopCMS похож почти как родной (ну, пусть двоюродный) брат. Тот же шаблонизатор, довольно похожая структура каталогов. И при этом не умер на версии 2007-го года.на данный момент этот магазин умирает только потому что в стандарте он не может работать на версиях больше php 5.3, как только он в стандарте станет на новые версии, он сразу оживет. И будет новая работа для програмистов по написанию новых модулей и исправлению старых
Так что понятно, когда надо поддерживать уже существующий сайт. Я тоже считаю, что куда правильнее держать сайт на VPS/VDS, где ты сам определяешь версию PHP и остальное наполнение. А если новый сайт делать, то ну его нафиг, этот некроCMS... Я-то хоть знаю его хорошо, у меня есть мотив продолжать делать сайты на нем. А обычному клиенту - нафиг такое допотопное счастье.
У меня сохранилось некое подобие инструкции, которую я писал для себя о переходе на UTF8.
Почему-то я ее так и не выложил на форум, не помню уже.
Возможно, она не полная и я хотел ее дописать.
Возможно, она где-то не корректная и я хотел написать более корректно.
===========================
1. Функции htmlspecialchars (без задания codepage встречается в functions.php три раза и в counter.php два раза ) и html_entity_decode (без задания codepage встречается в functions.php один раз).
2. Начиная с PHP 5.6 дефолтовый для этих функций codepage задается в php.ini настройкой default_charset (либо в .htaccess). Т.е. проблема с пропаданием русских букв только при PHP 5.4 и 5.5.
3. Я не заметил каких-то особых проблем по переводу ShopCMS целиком в UTF8 и (или) придании работоспособности в 5.4 и 5.5. Потратил на это часа два, не более. Наверное, какие-то проблемки вылезут, но навcкидку все работает.
- перенес DEFINE ('DEFAULT_CHARSET' из language.php в init.php. Уже не помню, зачем. Видимо, language.php грузится не во всех случаях
- задал его как DEFINE ('DEFAULT_CHARSET','UTF8')
- везде, где нашлась строка 1251 (cp1251, windows-1251) заменил ее на DEFAULT_CHARSET
- перекодировал файлы, где есть русские буквы из 1251 в UTF8
- добавил в xml_installer.php в функцию GetCreateTableSQL строку " DEFAULT CHARSET=".DEFAULT_CHARSET
- добавил в функции htmlspecialchars и html_entity_decode задание DEFAULT_CHARSET (это уже для PHP 5.4 и 5.5).
- заменил класс asido на теоретически работающий в версиях PHP старше 5.3 (нет пока 5.4, не на чем проверить).
Полученный дистрибутив легко переключается 1251<->UTF8. Достаточно изменить DEFAULT_CHARSET и перекодировать файлы в нужную кодировку.
==================