Вместо русских букв выводятся вопросы. О Community Builder.

Тема в разделе "Joostina - свежий взгляд на Joomla!", создана пользователем velross, 11.10.2007.

  1. velross
    Offline

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

    Регистрация:
    01.10.2007
    Сообщения:
    23
    Симпатии:
    1
    Пол:
    Мужской
    Возникла необходимость получить данные из таблицы jos_comprofiler, например
    сведения о стране пользователя. В таблице эти данные нормально отоброжаются и
    сам Community Builder их в анкете пользователя отображает нормально, по-русски,
    а когдая я пытаюсь получить эти данные сам - у меня в результате получаются вопросы.
    Кодировка в базе кириллическая и в браузере тоже.
    Я делаю запрос так:

    Код (PHP):
    1. $sql = 'SELECT `cb_country` FROM `jos_comprofiler` WHERE `user_id`=`$id`';
    2. $result=mysql_db_query("joomla", $sql)
    3.         or die ("Ошибка при выполнении запроса:" .mysql_error());
    4. $r=mysql_result ($result, @$row['cb_country']);
    5. echo $r;


    Подскажите, как правильно получить данные из таблицы БД, чтобы в результате
    был текст на русском.

    Буду очень вам благодарен.
     
  2.  
  3. boston
    Offline

    boston Группа локализации

    Регистрация:
    10.10.2005
    Сообщения:
    524
    Симпатии:
    12
    Пол:
    Мужской
    Ответ: Вместо русских букв выводятся вопросы. О Community Builder.

    velross, у тебя обращение к базе напряму, используй api Joomla, будут русские символы. Примеры можешь внутри файлов посмотреть.
     
  4. velross
    Offline

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

    Регистрация:
    01.10.2007
    Сообщения:
    23
    Симпатии:
    1
    Пол:
    Мужской
    Ответ: Вместо русских букв выводятся вопросы. О Community Builder.

    Вы парни умные, подскажите в каких файлах искать и и на что это api похожа. А то я в этом мало что понимаю. :[
    Если, конечно, не трудно.
     
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 311
    Симпатии:
    375
    Пол:
    Мужской
    Ответ: Вместо русских букв выводятся вопросы. О Community Builder.

    velross, на joomla-docs.ru есть раздел Программирование со ссылками на хелпы
     
  6. velross
    Offline

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

    Регистрация:
    01.10.2007
    Сообщения:
    23
    Симпатии:
    1
    Пол:
    Мужской
    Ответ: Вместо русских букв выводятся вопросы. О Community Builder.

    Boston и @OlegM, прошу прощения. Оказывается моя проблема не имеет отношение ни к Joomlе ни к CB, всё дело в MySQL.
    Нашёл в Интернете решение своих проблем.

    Сначало необходимо проверить кодировки:

    Код (PHP):
    1. <?
    2. $sql = "SHOW SESSION VARIABLES LIKE 'character_set_connection'";
    3. $res = mysql_query($sql);
    4. print_r(mysql_result($res, 0, 1));
    5. echo "<hr/>";
    6.  
    7. $sql = "SHOW SESSION VARIABLES LIKE 'collation_connection'";
    8. $res = mysql_query($sql);
    9. print_r(mysql_result($res, 0, 1));
    10. echo "<hr/>";
    11. ?>


    Если они разные, то делаем следующее:
    Код (PHP):
    1. $conn = mysql_connect ("localhost", "root", "")
    2.         or die ("Соединение не установлено!");
    3.    print ("Соединение установлено!<br>");
    4. mysql_db_query("joomla", "SET NAMES cp1251");
    5. mysql_db_query("joomla", "SET collation_connection = 'cp1251_general_ci'");


    В мета-теге страницы также пишем кодировку.
    Проблема решается полностью.

    Ещё раз извеняюсь. Тема закрыта.
     
    Последнее редактирование модератором: 05.04.2014
  7. Offline

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

    Регистрация:
    14.12.2007
    Сообщения:
    1
    Симпатии:
    0
    Ответ: Вместо русских букв выводятся вопросы. О Community Builder.

    А мне и это не помогло. Как оказалось, новый компонент (PerForms 2.4.0) создал таблицы в "неправильной" кодировке latin1_swedish_ci.

    Для решения проблемы нужно было ручками в базе данных установить кодировку cp1251_general_cs для таблицы и отдельно для каждого текстового поля в таблице компонента.

    PS: Интересно, что на локальном хосте ошибки не было.
     

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

Загрузка...