За последние 24 часа нас посетили 17407 программистов и 1683 робота. Сейчас ищут 988 программистов ...

Не все данные выводятся

Тема в разделе "PHP и базы данных", создана пользователем thedriveee, 16 май 2012.

  1. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Всем доброго времени суток!

    У меня проблема:

    Когда вношу данные в базу почему-то не все данные выводятся: только часть(около половины) и в конце белый знак вопроса в черном ромбе...

    Скорее всего в БД уходят не все данные или он побайтово зачитывает (кодировка UTF-8, возможно связано с тем, что русские символы записывает в 2 байта, а вывести как 1-байтовые пытается), и не читает половину. В общем проблема с кодировкой...

    Мб у кого была такая проблема - полдскажите как исправить плз...
     
  2. efreeze

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

    С нами с:
    14 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    А размер поля в таблице вмещает всю строку?
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    SET NAMES UTF8
    сразу после подключения. может помочь
     
  4. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Это я прописал уже, до этого информация просто отображалась некорректно...


    MySQL тип поля TEXT

    Размер поля для ввода в html (input) - 150 символов, при запросе данных из базы возвращает половину.

    Причем вот что я заметил: это только с русскими символами, латинские он возвращает все! Как я понял что-то связанное с размером русских символов (2 байта вместо одного у латинских), непоянтно почему...
     
  5. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    Еще раз проверь кодировки везде
     
  6. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Таблица MySQL в UTF-8.
    Все файлы php отправляют в заголовке UTF-8.
    SET NAMES UTF8 перед каждым подключением я прописал....

    Я уж 100 раз все проверил =(
     
  7. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    И сравнение конкретно этого текстового поля тоже утф8?
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    теперь базу надо забить новыми данными которые в правильной кодировке придут, сохранятся и выведутся =) попробуй
     
  9. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    да, utf8_general_ci

    Это и есть новые данные, старые отображались некорректно...
     
  10. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    попробуй в пхпмуадмине забить русский текст и посмотри как это отобразится на твоей страничке
     
  11. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Кракозябры... точнее знаки вопроса

    Но это и неудивительно, ведь таблица в utf-8, видать данные приходят в другой кодировке
     
  12. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    не, вот это как раз удивительно.
    не везде значит у тебя утф8
     
  13. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    В общем сейчас все переделал и проблема стала другой:

    При вводе данных прописал на страницах ввода и вывода инфо из бд:
    SET NAMES 'utf8'
    SET CHARACTER SET 'utf8'
    SET SESSION collation_connection = 'utf8_general_ci'

    Теперь русский текст, который ввожу в phpMyadmin отображается корректно, а то что из формы уходит в БД - нет =(
     
  14. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    блин, у меня идеи закончились
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    надо удостовериться, что страница имеет именно ту кодировку, какую надо.
     
  16. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Страница в ютф-8 - это 100%!
     
  17. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    не верю
     
  18. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Вот и я тоже уже 3 дня глазам своим не верю, вроде все прописываю верно, а не работает =(
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а как ты проверяешь, что она в UTF-8?
     
  20. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    В редакторе кодировка страницы: UTF-8 (без BOM).

    + отправляю заголовок
    header("Content-type: text/html; charset = UTF-8");
    чтоб браузер понял в какой она кодировке.
     
  21. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    в самом браузере посмотри
     
  22. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    В общем я нашел корень всего зла ...

    Я вставлял данные хранимой процедурой, при вставке дедовским методом - insert'ом все работает нормально!


    Мб кто подскажет почему так происходит?
    Данные в базу уходят, но там вместо русских символов - вопросики...

    Причем это только с insert'ом, хранимая процедура на update проходит нормально!
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    какая кодировка страницы? =)