За последние 24 часа нас посетили 17562 программиста и 1622 робота. Сейчас ищут 1310 программистов ...

Несохраняет русский текст, кодировка UTF-8

Тема в разделе "MySQL", создана пользователем FFFFx029A, 7 апр 2008.

Статус темы:
Закрыта.
  1. FFFFx029A

    FFFFx029A Guest

    Народ, хелп, вот только добился чтоб сохраняло корректно турецкий и теперь русский вообще обрезает(((
    Делаю так

    коннект к базе, потом:
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET 'utf8'");
    mysql_query("SET SESSION collation_connection = 'utf8_unicode_ci'");

    Таблицы в utf_8_general_ci, поля и база в utf_8_unicode_ci

    На всех страницах стоит <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    При сохранении данных в БД делаю просто htmlspecialchars($_REQUEST['any_data']);

    При выводе данных делаю h2t($any_data);
    function h2t($hsc)
    {
    global $HTML_ENTITIES;

    $trans = array_flip(get_html_translation_table(HTML_ENTITIES ));
    $trans["&amp;"] = "&";
    return strtr($hsc, $trans);
    }

    т.к английский и турецкий отлично сохраняеться и выводиться, а вот попробывал на русском написать - вообще несохраняет, просто пусто, 0 байт.
     
  2. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Знак $ забыл. В get_html_translation_table(HTML_ENTITIES).
    А в самой БД русские символы есть?
    И ещё - на некоторых хостингах может быть недостаточно, что ты на странице прописал charset=utf-8. Надо ещё добавлять в .htaccess фразу AddDefaultCharset UTF-8.
     
  3. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    HTML_ENTITIES - константа
     
  4. FFFFx029A

    FFFFx029A Guest

    Вот по поводу HTML_ENTITIES http://doc.dubs.odessa.net/phpdoc/funct ... -table.php т.к эт стандартная константа и определена гдето глубоко в функциях PHP

    Кстате, АЛИЛУЯ! Большое пасиба RomanBush, оказываецо Надо ещё добавлять в .htaccess фразу AddDefaultCharset UTF-8
    Теперь все работаед! :lol:



    ВСЕМ ПАСИБА, А PHP - ЭТО ЗЛО, ггг
     
  5. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    А зачем тогда написано:
    если ты её не используешь?
     
  6. creage

    creage Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    чтобы наверняка )))
     
Статус темы:
Закрыта.