[help]Какую кодировку использовать?

Тема в разделе "vBulletin", создана пользователем MavriK, 8 фев 2009.

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

    MavriK

    Регистр.:
    24 мар 2006
    Сообщения:
    160
    Симпатии:
    16
    Какую кодировку форума и базы лучше использовать? Дело в том, что хоть на форуме символы отображаются нормально, а в базе какие-то иеровгилфы записываются.

    Проблема в том, что если пишу что-то в сообщении кириллицей (например слово «тест»), то в базе вижу «Ñ‚есѻ, разве в базе не должно быть записано кириллицей? Ведь юникод используется.

    Информация о базе:
    character_set_client utf8
    character_set_connection utf8
    character_set_database utf8
    character_set_filesystem binary
    character_set_results utf8
    character_set_server utf8
    character_set_system utf8
    character_sets_dir /usr/share/mysql/charsets/
    collation_connection utf8_unicode_ci
    collation_database utf8_general_ci
    collation_server utf8_general_ci

    На форуме выставил кодировку UTF-8
    Код:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
  2. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    137
    Симпатии:
    13
    лучше, чтобы везде был UTF-8
    при несовпадении кодировок, можно после коннекта с БД устанавливать руками нужную, например cp1251
    PHP:
    @mysql_query("SET NAMES cp1251");
    Добавлено через 1 минуту
    в phpmyadmin также посмотрите, в какой кодировке вы просматриваете свою базу (Сопоставление соединения с MySQL)
     
  3. MavriK

    MavriK

    Регистр.:
    24 мар 2006
    Сообщения:
    160
    Симпатии:
    16
    А какие могут быть несовпадения?
    И что вообще этот код делает?

    collation_connection utf8_unicode_ci
    collation_database utf8_general_ci
    collation_server utf8_general_ci
     
  4. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    137
    Симпатии:
    13
    у вас проблема в чем, при выводе на сайт отображается не так, или?
    дайте под хайдом адрес сайта.
    код, что я привела - устанавливает нужную кодироку, если она отлична от той, в которой работает сервер, чтобы все корректно сохранялось/отображалось.
     
  5. MavriK

    MavriK

    Регистр.:
    24 мар 2006
    Сообщения:
    160
    Симпатии:
    16
    На форуме отображается нормально, кряказябры в базе! Или же это нормально?
    Может я чего-то не понмаю, есть ещё какие-то настройки кодировки? :confused:

    Установил на том же сервере и используя туже базу, вордпресс, так на нём и отображается всё отлично и в базе записывает тоже отличной, всё кириллицей.
     
  6. best

    best

    Регистр.:
    12 апр 2006
    Сообщения:
    246
    Симпатии:
    54
    Как я понял у тебя в базе нигде не прописано сто запись должна идти как utf8. Пропиши в скрипте сразу после коннекта к базе @mysql_query(SET NAMES 'utf8');
     
  7. Avalanch

    Avalanch ТоЛеГ & ТоПеГ

    Регистр.:
    9 янв 2007
    Сообщения:
    1.136
    Симпатии:
    524
    Как делаю я.

    1. Смотрю кодировку в PhpMyAdmin.
    2. Делаю backup базы форума (сайта), меняю там везде кодировку на кодировку PhpMyAdmin.
    3. Сохраняю.
    4. Восстанавливаю базу.
    5. Вуаля все прекрасно, все работает.
     
  8. MavriK

    MavriK

    Регистр.:
    24 мар 2006
    Сообщения:
    160
    Симпатии:
    16
    А где и как это можно проверить?

    Можно поподробнее как это сделать?

    AkelPad показывает что база в UTF-8 *BOM
     
  9. Avalanch

    Avalanch ТоЛеГ & ТоПеГ

    Регистр.:
    9 янв 2007
    Сообщения:
    1.136
    Симпатии:
    524
    1. Если у тебя в PhpMyAdmin написано:
    То соответственно тебе нужно, сделать backup все своей базы, открыть её тем же самым AkelPad и если у тебя там кодировка стоит cp1251(или отличная от utf8, все зависит от того, какая кодировка у тебя в PhpMyAdmin), произвести замену cp1251 на utf8.
    2. Сохранить.
    3. Восстановить базу при помощи дампера или прямо через PhpMyAdmin (Если база большая, лучше через дампер).
     
  10. Dark Angell

    Dark Angell Читатель

    Заблокирован
    Регистр.:
    29 фев 2008
    Сообщения:
    1.036
    Симпатии:
    690
    лучше всего сделать:
    1. посмотреть кодировку БД,
    2.Еслу бекап не позволяет использовать кодировку юникод или cp 1251,то через редактор меняем все charset на ту кодировку которую вам поставил хостер.
    3.Импртируем и наслаждаемся
    4.Если что-то пошлоне так,значит это ваш косяк,и вы что-то сделали не так,все методы которые предоставили в предыдущих постах тоже нормальные и действенные,но всегда играет фактор того что БД может отличаться от наших советов и быть готовым к любой ситуации ;)
     
Статус темы:
Закрыта.