Кодировки, база данных, md5.

Тема в разделе "Как сделать...", создана пользователем antiadmin, 14 ноя 2009.

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

    antiadmin

    Регистр.:
    24 май 2008
    Сообщения:
    395
    Симпатии:
    23
    Вот хотел поинтересоваться, 3 дня мозг выношу, ведь текст в разных кодировках имеет разный хеш md5? так? А что случится, если текст в кодировке cp1251 засунуть в MySQL базу данных, кодировка которой UTF-8, все будет в порядке? и есть ли функция для преобразования любой кодировки в UTF-8?
     
  2. diabl

    diabl Боцман

    Регистр.:
    24 мар 2009
    Сообщения:
    439
    Симпатии:
    156
    Я думаю что не чего не будит, так как когда я базу восстанавливал она была UTF-8 кодировку поставил cp1251 и залил, всё нормально.
     
    antiadmin нравится это.
  3. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Да, совершенно верно, хеш будет разный.

    Не забывайте о том, что есть еще и кодировка таблиц, а также полей в таблице. Вполне вероятно, что текст в кодировке UTF-8, который размещен в поле UTF-8 таблицы UTF-8, базы CP1251 будет корректно отображаться.

    В PHP, для изменения кодировки, я обычно использую функцию iconv(). Но прежде чем ее использовать необходимо определить текущую кодировку. В этом случае я рекомендую использовать http://popoff.donetsk.ua/file/text/libs/a.charset.php
    Детальную информацию по определению кодировок стоит посмотреть здесь http://ivr.webzone.ru/articles/defcod_2/index.htm
     
    antiadmin нравится это.
Статус темы:
Закрыта.