За последние 24 часа нас посетили 16803 программиста и 1694 робота. Сейчас ищут 888 программистов ...

Какая кодировка БД для любых языков подойдет?

Тема в разделе "PHP и базы данных", создана пользователем sumsum, 29 июл 2014.

  1. sumsum

    sumsum Новичок

    С нами с:
    13 май 2014
    Сообщения:
    96
    Симпатии:
    0
    Сейчас мучаюсь перевожу сайт с кодировки Win-1251 в UTF8 аналогично и БД. а теперь задался вопросом а UTF8 это универсальная кодировка? То есть если в базу будут заноситься данные на японском языке то они нормально будут отображаться?
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Японский никогда не использовал, но UTF создавался что бы поддерживать все.
    Почитай
    http://www.unicode.org/faq/han_cjk.html
     
  3. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
  4. sumsum

    sumsum Новичок

    С нами с:
    13 май 2014
    Сообщения:
    96
    Симпатии:
    0
    Смотрите у меня стоит для БД написано "Сопоставление кодировки соединения с MySQL" utf8_bin - так ведь и надо?
    Дальше у таблиц стоит поле "Сравнение" везьде utf8_general_ci - а что такое приставка ci ? это не кирилица случайно?
    И у самих полей в таблице кодировка тоже utf8_general_ci стоит.

    Я поменял кодировку в файлах с Win1251 на UTF8 но при выводе данных из БД выводится бред что то типа такого "���������"
     
  5. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    Японский (Kana-Kanji) отображается в Unicode, а значит может использовать UTF-8. google.co.jp например в utf-8
    Но японские разработчики не любят уникод потому что часть их алфавита в уникоде пересекается с китайским. Это некорректно. Вспомним для примера кириллическую "А" и латинскую "A" — это разные буквы и они имеют разные коды!
    Поэтому японцы упорно держатся за старые кодировки, например Shift-JIS, тоже мультибайтная и обратно совместимая с ACSII как UTF-8.

    Добавлено спустя 2 минуты 14 секунд:
    sumsum, ну значит тебе надо пройти путь который каждый нуб проходит.
    "set names" и "AddDefaultCharset":

    Добавлено спустя 1 минуту 47 секунд:
    дефолтовый charset обычно ставят utf8_general_ci, а utf8_bin только для специальных case-sensitive случаев у некоторых колонок.
     
  6. sumsum

    sumsum Новичок

    С нами с:
    13 май 2014
    Сообщения:
    96
    Симпатии:
    0
    А это куда и где? Распишите пожалуйста поподробнее
     
  7. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    да тут пол-форума про это. попробуй поискать! гугль, яндекс, search.php
     
  8. ermolmolotov

    ermolmolotov Новичок

    С нами с:
    21 авг 2014
    Сообщения:
    43
    Симпатии:
    0
    Тут всё проще чем ты думал.

    Сохрани файл в UTF-8(Без BOM)
    Код (Text):
    1. <?php
    2. header('Content-type: text/html; charset=utf-8');
    3. //тут собственно твоё содержимое
    4. ?>
    header('Content-type: text/html; charset=utf-8'); - это строка нужна и для ie-8
    пиши как в перемер)

    Добавлено спустя 1 минуту 16 секунд:
    и да...
    Не забудь чтобы не было пробелов между "<?php" и "header('Content-type: text/html; charset=utf-8');"