ФорумРазработкаБазы данных → Перевод сайта с CP1251 на UTF-8

Перевод сайта с CP1251 на UTF-8

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 11:25

    Есть сайт и БД в кодировке CP1251, хотелось бы всё это дело попробовать в UTF8 перевести.
    Вопрос в том как это лучше сделать и как это сделать вообще :)
    Если кто может поподробнее написать как БД конвернуть и как поступить с файлами.

    Погуглив выяснил что БД просто делаешь дамп без кодировок и заливаешь его уже в утф. Вроде должно всё само поменяться. А файлы просто в том же NotePad++ пересохраняешь в UTF-8 но вот только не понял в какой именно, там какие то разные вариант, с куками в БОМ и прочей непонятной мне фигней :)

    Может есть какое средство попроще? :)
    Жду предложений и советов.

    —————————
    С БД вроде и правда всё просто, в дампе цп на утф поменял и всё получилось, теперь теперь только осталось файлы все в утф каким-то образом перекодить.
    from TRIAL with LOVE
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 11:36, спустя 10 минут 37 секунд

    для файлов - лучше написать скриптик, который рекурсивно пробежится по директориям и сконвертит
    Спустя 93 сек.
    сделав бекапы и проигнорировав файлы vcs
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 11:38, спустя 1 минуту 57 секунд

    тут почитай http://bolknote.ru/write/?issue_phputf8

    не всё полезно, что в swap полезло
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 12:58, спустя 1 час 20 минут 3 секунды

    Вроде всё перекодил но в итоге всё иероглифами и вылезло, хотя везде всё нужное прописано.
    Пока забью на это дело наверное. На досуге время будет потестю мож чего и получится.
    from TRIAL with LOVE
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 13:07, спустя 9 минут 19 секунд

    лучше написать скриптик, который рекурсивно пробежится по директориям и сконвертит

    представляю какой пиздец коду придёт
    лучше уж ручками через текстовый редактор
    не всё полезно, что в swap полезло
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 13:12, спустя 5 минут 2 секунды

    В моем случае наверное реально ручка лучше. Дурной привычки плодить 100500 файлов у меня нет, а уж 20-30 и так можно. К тому же вроде всякие там phpmailer и tinymce перекодировать не надо, они и так будут работать.
    from TRIAL with LOVE
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 13:13, спустя 1 минуту 25 секунд

    master, поцчему же?

    я уже делал так, и все ок
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 20 апреля 2011 г. 13:29, спустя 15 минут 12 секунд


    Вроде всё перекодил но в итоге всё иероглифами и вылезло, хотя везде всё нужное прописано.
    Пока забью на это дело наверное. На досуге время будет потестю мож чего и получится.
    ты смотри, что сервер отдает
    если у тебя данные в утф и код в утф, стоит апач и все равно иероглифы — то сделай AddDefaultCharset off в htaccess
    все умрут, а я изумруд
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2011 г. 13:41, спустя 12 минут 12 секунд

    Проблемы продолжаются. Перезалил на хост БД, всё в кодировке cp1251. При выводе на сайт все данные из бд каким то мокаром становятся утф8.
    При конекте прописываю
    mysql_query("SET NAMES 'cp1251'");
    mysql_query("SET CHARACTER SET 'cp1251'");
    mysql_query("SET sql_mode=''");
    Но не помогает. Уже несколько раз пересоздавал базу.
    Если записывать какие то данные в БД то в самой БД они отобразятся нормально и при выводе опять же будут иероглифами.
    Что еще и где можно прописать никто не подскажет. Уже заипли эти кодировки епаные.
    from TRIAL with LOVE
  • LIFF

    Сообщения: 188 Репутация: N Группа: Адекваты

    Spritz 22 апреля 2011 г. 2:42, спустя 1 день 13 часов 1 минуту

    TRIAL, header() поставь нужный в лайауйте
    Спустя 90 сек.
    или в htassecc))
  • maximusgym

    Сообщения: 59 Репутация: N Группа: Кто попало

    Spritz 3 мая 2011 г. 9:00, спустя 11 дней 6 часов 18 минут

    Подскажите пожалуйста почему в I.E. выводятся вместо текста вопросики? В mysql по умолччанию БД utf-8,а таблицы в ней cp1251,и в мета теге стоит windows-1251. В любом браузере кроме I.E. все нормально выводится. Может быть нужно было БД тоже cp1251 делать? Если в .htaccess вписать AddDefaultCharset windows-1251 ,то все становится наоборот,все кроме I.E. в иероглифах.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 3 мая 2011 г. 9:45, спустя 45 минут 26 секунд

    это вечная тема :) для гарантированно правильного отображения надо учесть всё:
    - в .htaccess AddDefaultCharset …
    - почти пох на чарсет базы и таблиц, главное чтобы в скрипте коннекции с бд был "set names=…"
    - файлы, если они в utf-8, проверить на BOM

    ιιlllιlllι унц-унц
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 3 мая 2011 г. 13:41, спустя 3 часа 55 минут 56 секунд

    да, снова классика)))
  • Hight

    Сообщения: 1489 Репутация: N Группа: Адекваты

    Spritz 14 мая 2011 г. 0:48, спустя 10 дней 11 часов 6 минут

    Я на пхп.ру даже как-то свой конвертер файлов в юникод выкладывал. Найти не могу. Помню, что за минут 10 написал. =)

    БД: http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html

    И не забыть код переписать под юникод. Всякие там mb_ прописать.
  • kapust

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz 15 марта 2013 г. 3:36, спустя 671 день 2 часа 48 минут

    Здесь http://petrenco.com/php.php?txt=142 опубликована детальная инструкция по конвертации сайта из Windows-1251 в UTF-8.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!