Проблема с всплывающими сообщениями.

Тема в разделе "Магазины, электронная коммерция", создана пользователем Solser, 16.12.2008.

  1. Offline

    Solser Недавно здесь

    Регистрация:
    04.04.2008
    Сообщения:
    10
    Симпатии:
    1
    В системных всплывающих сообщениях теряются первые две буквы. Вместо них в IE знак вопроса, а в других браузерах нечитаемый символ. (Например, всплывает сообщение - вместо :" Информация: товар добавлен в корзину" пишет "?формация: товар добавлен в корзину). Где искать ошибку?
    Сайт реализован на Joomla 1.5.8+Virtuemart 1.1.2 .
     
  2.  
  3. Offline

    vonGruz Недавно здесь

    Регистрация:
    01.02.2009
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Аналогичная проблема.
    Joomla 1.5.9 + VM 1.1.3

    На локале на Денвере - ок.
    На сервере - вылазит.
     
  4. Offline

    Solser Недавно здесь

    Регистрация:
    04.04.2008
    Сообщения:
    10
    Симпатии:
    1
    Мне ребята с хостинга помогли разобраться.

    Вот решение:

    Вывод этих всплывающих сообщений реализован здесь:

    ..../administrator/components/com_virtuemart/classes/Log/display.php

    Функция printLog.

    В ней в числе прочего используется функция php ucfirst(), которая
    преобразует первый символ в верхний регистр. Работать с utf-8 эта функция не
    умеет. И, что интересно, аналога mb_ucfirst() в PHP для нее нет.

    Почему все корретно работает на локальной машине, сложно сказать. Возможно, в
    составе Joomla'ы есть свои библиотеки для работы с utf-8. Возможно, в зависимости от каких-то конкретных настроек как раз они подключаются и используются.

    Чтобы решить проблему на хостинге раз и навсегда поступаем так - заменяем строку:

    $message_tmp .= '<b>' .
    ucfirst($this->priorityToString($message['priority'])) . '</b>: '

    ...на:

    $message_tmp .= '<b>' . $this->priorityToString($message['priority']) .
    '</b>: '

    То есть, просто убрали использование ucfirst() - на функциональности это
    никак не сказалось. Зато все отображается корректно. Ну а первые заглавные буквы в языковых файлах в принципе везде уже стоят.
     

Поделиться этой страницей

Загрузка...