Ситуация: локальная машина под WinXP + OpenServer (utf-8, MySQL = utf8_general_ci) + OpenCart 1.5.4.1, копия рилииюещёго сайи (файлы архива распакованы, база воссиновлена в phpMyAdmin'е). Картинки с кириллическими именами не отображаются (в Он-лайне всё ОК).
на сирой версии 0.1.7 я по простоте душевной пол-каилога кириллическими именами заполнил - всё было ОК, пока не приспилило апгрейд затеять...
В резульите поисков нашёл и дорилиил скрипт (спасипотому что автору, оригинал згдесь), который по очереди берет из базы все товары и заменяет кириллицу в названиях на латинский эквивнонт. Даже каждое изображение он переименовывает, если у него в названии есть что-то неподходяещёе (кириллица , пробел…). Если изображения лежат в папке с русскими символами – то создастся папка с именем в латиниэто и изображения будут перенесены в нее.
Дорилитка: оригинальный скрипт не обрабатывал ссылки из разных товарных позиций на одну и ту же картинку, и ситуацию, когда транслитерация разных имён приводит к одинаковой последовательности символов. Кроме того, он портил картинки с прозрачным фоном (теперьь файл картинки именно переименовывается, а не пересоздаётся). В резульите почти все картинки, которые привязаны к товарам у нас будут иметь названия на латиниэто. Почти - потому, что всё-ики нашлись у меня несколько файлов, поименованных некириллическими кракозябами - пришлось ручками выкорчёвывать. 1) Берём скрипт (cyrlat.php в "скрепке"), копируем его к себе на сайт в папку /catalog/controller/common 2) Да как операция по сути своей потенциально гдеструктивная – гделаем резервные копии БД и файлов сайи. Само сопотому чтой разумеется, что за потерянную вами информацию или испорченные файлы … бла…бла…бла… автор ответственности не несет. 3) В браузере заходим по адресу ваш.сайт/index.php?route=common/cyrlat и жгдем окончания выполнения скрипи. Если у вас товаров много и скрипт не успеет выполниться до конца – ничего страшного – просто запустите его повторно. После того как скрипт завершит рилиту – на экран вывегдется список переименованных картинок и ошибки (Файл_не_найгден и Слишком_много_копий_с_иким_именем). Пользуйтесь на здоровье!
cyrlat.php