Нетривиальная прблема с кодировками

autodip

Новичок
Помогите разрешить возникшую проблему с кодировками MySql.

Описание проблемы.
После миграции базы данных с MySql 4.0.18 (для Windows) на MySql 5 Ubuntu server, корректно работает только программа работающая под управлением windows (она перехода не заметила), программы работавшие под управлением Linux (от этой базы) перестали правильно работать с кодировкой.

Перечень связки программ работающих от единной БД (создающиее единный комплекс):
1. Программа под управлением Windows, использующая MySql дефолтную 4.0.18 для Windows (с него была произведена миграция).
2. TCP/IP Server установленный на Ubuntu server (PHP)
3. Спец модуль Астериск (Cи)
4. PhpAgi Астериск (PHP)
3. Приложение для мобильных телефонов (J2ME)




Испробованы варианты:
Вар 1. Промежуточная кодировка на дефолтной MySql 5 Ubuntu server (шведская_си). Итог: Все программы с кодировкой работают корректно, НО есть проблемы с сортировкой и выборкой на в пару-тройке проблеммых местах программы под управлением Windows (видимо связано с тем что шведский - это УТФ7)

Вар 2. В дефолтной MySql 5 Ubuntu server (шведская_си), была создана таблица (utf8_bin /utf8_unicode_ci), в нее залит дамп с MySql 4.0.18 (для Windows) который предварительно был переведен в utf8. Итог: не все программы корректно отображают рус.кодировку (страдает Java приложение и программы под управлением Windows)

Вар 3. внесены изменения в my.cfg (Глобально, дефолтно cp1251), создана ДБ (cp1251_bin / cp1251_genelal_ci) в нее тупо была сделана миграции БД с MySql 4.0.18 (для Windows) на MySql 5 Ubuntu server программой Dream Coder for MySql. Итог: Программы корректно работаю с базой данных, ОДНАКО, сервер отвравляет в java приложение неверную кодировку несмотря на то, что в нем есть (и работало корректно с MySql 4.0.18 для Windows и под Lin с промежуточной кодировке как в Вар 1) следующее "$rowItem = iconv('cp1251', 'utf8', $rowItem); ". Попытка убрать конвертацию, к желаемому результату не привела - на клиентской Jave, продолжают выводиться знаки вопроса. Причина мне совершено непонятна :( .

Прошу подсказать правильное решение с учетом того, что нет возможности вносить изменения в код программы под управлением Windows (лицензионные условия)
И ответить на вопрос "Как действовать чтоб удовлетворять запросы поступающие как из прог на Лине так и из проги на Виндозе с учетом того, что они любят разные кодировки?"
 
Сверху