Страница 1 из 1

Неправильное отображение динамических полей при переносе баз

Добавлено: 09 июл 2014, 15:45
xpasha
Кракозябры в динамических полях при переносе базы OTRS

Сообщение xpasha » меньше минуты назад
Коллеги помогите кто-нибудь!! Ну никак не получается из дампа базы mysql полученного при переносе с одной системы на другу динамические поля в нормальном UTF-8 загнать в новую базу на тестовом сервере. Все динамические поля отображаются кракозябрами. Все остальное - имена агентов например отображаются нормально! Весь день пытаюсь понять в чем засада, ничего не помогает.. :( Переменные mysql вроде в порядке:

| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |

А поля отображаются по типу: DSL:Низкое качество абонентской линии

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 17:11
xpasha
Похоже проблема не в импорте, а в отображении. Динамические поля хранятся в виде блобов. Если сделать полную выборку селектом динамические поля отображаются нормально. В OTRS же они отображаются как кракозябры, см. сообщение выше. У кого какие мысли есть?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 18:39
alexus
Мысль простая - уберите весь ваш кастом и проверьте.

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 20:01
xpasha
Custom это модифицированные файлы pm и dtl?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 20:13
xpasha
Поставил с нуля инсталляцию OTRS 3.3.8, настроил по дефолту, никаких модифицированных файлов не добавлял. Пересоздал только БД на текущую содержащую те самые динамические переменные. Результат увы тот же.

DSL:Низкое качество абонентской линии

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 20:20
alexus
Вероятнее всего, что проблема с кодировкой базы.
Попробуйте поставить новую систему с версией, равной текущей и подключить старую базу.

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 20:44
xpasha
Установил из рпма 3.3.4, применив туда все свои кастомы. Залил базу подготовленную с текущего рабочего сервера 3.3.4 штатным скриптом бэкапа OTRS и удивительно, но все динамические поля отображаются нормально!! База MySQL та же самая, параметры не менялись ни один, бэкап базы абсолютно такой же, везде понатыкано, что кодировка utf8 в дампе. Так что на кодировку базы я не думаю, похоже, что собака порылась именно в отображении. Я нечто подобное встречал когда писал скрипт на перле, не укажешь предварительно, что у тебя селектируемый контент в UTF-8 получишь кракозябры причем один в один такие же. Я долго мучился с этим пока не понял этой особенности, я об этом писал кстати в форуме. У меня гипотеза, что эта версии выше 3.3.4 косячат с установкой кодировки динамических переменных, а ведь OTRS на перле написан... Может опция какая появилась связанная с кодировками?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 09 июл 2014, 20:58
xpasha
Решил двигаться вверх по версиям. Поставил 3.3.7 - кракозябры. Поставил 3.3.6 - нормально отображаемые динамические поля. Так что проблема где-то в коде OTRS, а не в базе. База во всех случаях идентичная.

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 08:28
xpasha
Никаких соображений ни у кого на этот счет нет? Неужели никто с подобным не сталкивался?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 12:41
xpasha
Сделал более чистый эксперимент. Создал с нуля две виртуалки под Centos 6. На одной создал конфигурацию OTRS 3.3.4 без кастомизации, в конфиге создал одно динамическое поле типа выпадающий список. Перенес базу на конфигурацию 3.3.8 стандартным скриптом бэкапа OTRS. В результате на 3.3.8 получил те же кракозябры в динамических полях. Ну не может быть, чтобы подобное никто не заметил? Откликнитесь уже кто-нибудь!!

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 13:22
xpasha
Провел еще один тест. На 3.3.8 создал динамическое поле с русскими буквами. Сохранил. И что вы думаете? При просмотре даже в редакторе динамических полей отображаются кракозябры!

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 14:00
alexus

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 14:13
xpasha
Алексей, а если серьезно? Что вы этим хотели сказать? Ничего конкретного кроме скриншота без пояснений почему так может быть. Я тут бьюсь второй день над этой проблемой, а вы еще смеетесь... Если знаете в чем дело расскажите, если нет, то дайте совет что делать. У меня все так как на вашем скриншоте, но после сохранения данных и повторного просмотра вместо русского текста там отображаются кракозябры. Это что пустяковая проблема с которой я обратился на форум?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 14:21
alexus
Павел, я показал результат на чистой OTRS 3.3.8, поставленной по мануалу с сайта. Поля на скрине - после сохранения. Я не смеюсь над Вами ни в коем случае. Я не знаю в чём у Вас может быть проблема. По виду - проблема кодировки в базе.
Совет просто - забыть всё, что вы знали про установку системы, поставить новую Centos minimal, у нуля поставить Apache, MySQL, Perl и OTRS строго по мануалу!

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 14:28
xpasha
Мануал предлагает установку из rpm, tar.gz, какой вариант и на какую операционку вы ставите? Я ставлю из рпм с созданием базы данных автоматически. RPM что-ли криво базу создает?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 14:37
xpasha
Ставлю центос 6 минимал, а вот что вы имели ввиду строго по мануалу непонятно. Все компоненты ставятся из репозитория в центосе. Они и были поставлены на свежеустановленный центос 6. Только я ставил все из rpm, так удобнее он создает все сам и не приходится заморачиваться со стартовыми скриптами, правами доступа и т.д. и базу сам создает. Вы считаете этот способ неправильным?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 15:09
xpasha
Поставил все заново, центос минимал, апача, перл и его модули, мускль, отрс через юм как в мануале из рпм, результат тот же... :(

Вот мануал по которому ставил:

http://otrs.github.io/doc/manual/admin/ ... alling-rpm

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 15:48
xpasha
Алексей, а как вы ставите OTRS через RPM или же из tar.gz?

Re: Неправильное отображение динамических полей при переносе

Добавлено: 10 июл 2014, 17:19
xpasha
Похоже косяк связан с установкой из RPM-файлов, ничего не помогло, никакие следования мануалам. Попробовал поставить из исходников по мануалу, разумеется с поправками на изменения текущей ситуации все стало нормально. Следующим этапом я сделал апгрейд 3.3.4 установленного из RPM путем простого копирования файлов из tar.gz в /opt/otrs с последующей заменой конфигов и Custom на свой. Версия стала отображаться 3.3.8 и все динамические поля отображаются правильно. Может это и не спортивно таким образом апгрейдить поставленную из RPM систему, но полная установка из исходников несколько сложнее, права доступа, стартовые скрипты и прочее прочее. Хотя может один раз установив систему можно апгрейдить ее путем копирования из архива в /opt/otrs/. Только вот как узнать какие файлы нужно заменить в системе кроме крона, в новых версиях что-то говориться о новом шедулере. Алексей поделитесь своим опытом установки и апгрейда OTRS. Как вы изначально ставите систему? Как апгрейдите?