singlepost

Кодировка UTF-8 в БД << На главную или назад  

Это больше к MySQL наверное относится…итак:

Использую:
Apache Web Server Version 2.2.4
PHP Script Language Version 5.2.3
MySQL Database Version 5.0.45
phpMyAdmin Database Manager Version 2.10.2
—————–
Проблемы бывают такие, если я вношу запись напрямую в БД (через phpMyAdmin), то вывод идет с вопросами, если через форму на сайте, то вывод получается нормальным, но в БД отображаются крякозябли.
Как сделать, чтоб и вывод записей и сами записи в бд выглядели нормально.
(таблицу пробовала создавать в utf8_bin и utf8_general_ci)

15 ответов в теме “Кодировка UTF-8 в БД”

  1. 15
    DELETED DELETED ответил:

    В настройках таблицы используйте для каждого столбца "cp1251_general_ci" (настройка сравнения) и тогда никаких проблем, МуСкул будет автоматом при запросе перекидывать все строки из 1251 в УТФ8 при добавлении и наоброт при выборке.

  2. 14
    Keeper Soul ответил:

    Может не вариант, хз, попробуй програмку MySQL Front, может быть норм будет…

  3. 13
    Олеся Маневич ответил:

    кодировка страницы в UTF-8
    не могу понять.. почему у меня в бд хранится в ISO 8859-1 (cp8859-1)
    пробовала у себя на компе и на хостинге (hostgator)… везде та же проблема….
    это не мешает в каком-то плане.. т.к. вывод-то все равно нормальный… но, все-таки хотелось бы видеть и в самой бд нормальные буквы…

  4. 12
    Keeper Soul ответил:

    У вас какая кодировка страници (Где форма через которую добавляется?)
    Была такая же проблемма, когда из страници windows-1251 пихал в utf базу, теперь поставил кодировку страници utf-8, и в pma – utf8_general_ci Language: Russian (ru-utf-8)
    И всё нормуль!

  5. 11
    Сергей Смирнов ответил:

    попробуйте после подключения к БД сказать:
    mysql_query("set names 'cp1251';");
    авось прокатит =)
    У меня барабашка с крокозяблами на хостинге ayola . net вылечилась именно так.

  6. 10
    Дима Тихвинский ответил:

    посмотрите статью в википедии
    ru . wikipedia . org/wiki/Крокозябры
    если верить ей – у вас происходит случайное преобразование из UTF-8 в windows-1252 (именно 1252, а это даже не русскоязычная кодировка).

  7. 9
    Дима Тихвинский ответил:

    или же в ISO 8859-1 (cp8859-1)

  8. 8
    Олеся Маневич ответил:

    Как я уже сказала вывод текста (если он ранее был добавлен через форму на сайте) выглядит нормально, но в самой базе хранится крякозяблями, типа такого:
    пÑ?иÐ2ет

  9. 7
    Олеся Маневич ответил:

    не могу понять куда вставить…

    <?php
    $db = mysql_connect("localhost","root","12345");

    mysql_select_db("utf",$db);

    $result = mysql_query("SELECT * FROM names ",$db);

    $myrow = mysql_fetch_array($result);

    do
    {
    printf ("%s",$myrow['Name']);
    }
    while ($myrow = mysql_fetch_array($result))
    ?>

  10. 6
    Дима Тихвинский ответил:

    2Юрий
    А чем iconv не угодил?

  11. 5
    Юрий Щербачук ответил:

    mb_convert_encoding( string $str, string $to_encoding[, mixed $from_encoding] )

    Например: mb_convert_encoding( $str, "windows-1251" , "UTF-8" );

  12. 4
    Олеся Маневич ответил:

    аа.. ну там стоит по умолчанию UTF-8

  13. 3
    Дима Тихвинский ответил:

    phpMyAdmin

  14. 2
    Олеся Маневич ответил:

    я в этом чайник… аа что такое pma? где его искать ?

  15. 1
    Дима Тихвинский ответил:

    pma как настроен? на юникод или нет?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.