Пиздец, какой был день!
Я решил перед обедом обновить WordPress (движок, на котором работает этот блог) до самой последней версии (2.0.4), потому как Sellme.ru работал на очень старой версии – 1.5.2. Файлы все заменил успешно, тема работала как раньше. Но сломалась кодировка – вместо положеной UTF-8 буквы оказались… в той самой UTF-8, если её смотреть в CP1251. Подозрения сразу пали на базу, так как всё остальное, что хранится в файлах, а не в MySQL, показывалось нормально.
Я полез в phpMyAdmin… и тут у меня отключился интернет. У подлого провайдера не вовремя вырубился свет!
ОК, у меня для таких случаев есть телефон с GPRS. Включил, залез в phpMyAdmin. Оказалось, у меня в базе всё хранилось в UTF-8 в полях CP1251. Вот так прошлые версии WordPress нахимичили (да и MySQL, который год назад стоял на сервере, по-моему, плевался от юникода). Надо выяснять, как бы всё это сконвертировать. Эх, как же всё медленно на этом GPRS’е! EDGE ещё до Долгопрудного не дошёл. В общем, всё было похоже на модем под 2400 бод.
И тут у меня села батарейка в телефоне. #$%@! Товарищи из Motorola забыли сделать такую штуку, как зарядка телефона от USB-порта. Кроме того, они сделали такое извращенский порт на телефоне, что его нельзя одновременно заряжать и подключать к компьютеру. Выключаю телефон, ставлю на зарядку. Жду минут 10. Опять включаю. Пробую решить проблему с кодировками. Заряд опять кончается. Заряжаю… И так несколько циклов, пока мне не надоело.
Когда мне всё-таки надоело, я нарисовал такую картинку, вставил в шаблон блога:
…и ушёл гулять.
Вернулся вечером – интернет включили! Ура! Начал искать способ конвертации кодировки в MySQL. Нашёл. Запустил скриптик. Готово. Посмотрел — всё нормально, кроме того, что посты в блоге – не посты, а огрызки какие-то — на первой же букве “ш” или “И” всё обрывается. То же и в базе.
Хорошо, что сделал бэкап. Восстановил. Помучился. Не получается. Опять восстановил…
В общем, пришлось конвертировать вручную:
И тут у меня села батарейка в телефоне. #$%@! Товарищи из Motorola забыли сделать такую штуку, как зарядка телефона от USB-порта. Кроме того, они сделали такое извращенский порт на телефоне, что его нельзя одновременно заряжать и подключать к компьютеру. Выключаю телефон, ставлю на зарядку. Жду минут 10. Опять включаю. Пробую решить проблему с кодировками. Заряд опять кончается. Заряжаю… И так несколько циклов, пока мне не надоело.
Когда мне всё-таки надоело, я нарисовал такую картинку, вставил в шаблон блога:
…и ушёл гулять.
Вернулся вечером – интернет включили! Ура! Начал искать способ конвертации кодировки в MySQL. Нашёл. Запустил скриптик. Готово. Посмотрел — всё нормально, кроме того, что посты в блоге – не посты, а огрызки какие-то — на первой же букве “ш” или “И” всё обрывается. То же и в базе.
Хорошо, что сделал бэкап. Восстановил. Помучился. Не получается. Опять восстановил…
В общем, пришлось конвертировать вручную:
- В оригинальном тексте (не перекодированном) заменить все “P?” (что означало букву “И”) на “<***>” (метка).
- Сохранить текст.
- Открыть в текст браузере.
- Выбрать кодировку UTF-8.
- Скопировать текст из браузера в редактор.
- Заменить все “квадратик-?” на “ш”.
- Заменить все “<***>” на “И”.
- Скопировать таблицу в базу.
Дмитрий, что у тебя за модель телефона? Надо знать, чтоб себе случайно такой не купить.
У меня Моторола С380 может заряжаться и быть одновременно подключенной к компьютеру. Правда, зарядное устройство подключается через отдельный разъем.
Дмитрий, комментарии с блога стали приходить в таком виде (это не исходный код, а то, как отображается текст в ThunderBird):
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Message-Id:
Date: Fri, 29 Sep 2006 19:15:35 +0400 (MSD)
а�аОб�аВаИаЛб�б� аНаОаВб�аЙ аКаОаМаМаЕаНб�аАб�аИаЙ аК аЗаАаПаИб�аИ "а�аИб�аНаОб�б�аНб�аЙ б�аОб�б� аПаО аМаЕб�аОаДб� аЄб�аАаНаКаЛаИаНаА"
http://www.sellme.ru/2006/09/28/lichnostnyi_rost_po_metodu_franklina
а�аВб�аОб� : а�аМаИб�б�аИаЙ аЇаЕб�б�аНб�б�
а�аОаМаМаЕаНб�аАб�аИаЙ:
а�аЛаЕаКб�аЕаЙ: б�аАаМ аЖаЕ аОаГб�аОаМаНаАб� аКаАб�б�аИаНаКаА аБб�аЛаА б� аОаБб�б�б�аНаЕаНаИаЕаМ :) а�аОб� -- http://www.sellme.ru/2006/09/29/kak_ya_slomal_i_pochinil_blog
аЂаЕаПаЕб�б� б�аАаБаОб�аАаЕб�.
а�аОб�аМаОб�б�аЕб�б� аВб�аЕ аКаОаМаМаЕаНб�аАб�аИаИ:
http://www.sellme.ru/2006/09/28/lichnostnyi_rost_po_metodu_franklina#comments
аЃаПб�аАаВаЛаЕаНаИаЕ аПаОаДаПаИб�аКаОаЙ аНаА аКаОаМаМаЕаНб�аАб�аИаИ аИ аБаЛаОаКаИб�аОаВаКаОаЙ аВб�аЕб� б�аОаОаБб�аЕаНаИаЙ:
http://www.sellme.ru/wp-subscription-manager.php
> У меня Моторола С380 может заряжаться и быть
> одновременно подключенной к компьютеру.
Ага, у меня предыдущий телефон был C350 - тоже мог (и зарядка+компьютер, и просто от компьютера). А сейчас V635.
Насчёт комментариев - посмотрю, спасибо.
Отличное начало постинга!
А насчёт танцев с телефоном: именно поэтому я брал ноут и телефон с синими зубами. Очень удобно gprsиться.
А у меня старый Siemens ME45, который со мной уже года 3-4. Недавно отмечал 2 гигабайта по нему :-) Никаких голубых зубьев. Инфракрасный порт :)))
Мне нравится возможность завалиться с ноутом на диван.
С инфракрасным портом наверное тоже можно, но кайф не тот.
Val: у меня он тоже с синими зубами, только и Sony Vaio, и Apple iBook у меня беззубые :( А отдельную хреньку покупать для того, что требуется раз в два-три месяца неохота.
Алексей: ИК тоже нет :)
Val: заваливаюсь на диван я с помощью wi-fi ;)
А я потиху пишу себе собственный мини-движок под дневник, статьи и другие проекты. Не хочу заморочек с БД, Вордпрессом (о ужас!) и вообще.
Приятно, когда точно знаешь, что происходит внутри твоего сайта.
Артур: приятно, конечно. Но (это не утверждения для всех, мои личные наблюдения) часто оказывается так, что потом свою накодированную лапшу разобрать сложнее, чем поставить новую версию стороннего скрипта :)
P.S. WordPress рулит.
А меня что-то WP не вдохновил. Поставил недавно его на одном полузаброшенном прожекте. Поигрался... и решил, что лучше DataLife Engine (не сочтите за рекламу) нет! Жальтолько, что не бесплатный он.
А меня WP вдохновил - за сутки с MT съехал :)
Юрий: наконец-то :)
Я бы тоже с MT съехал, очень уж он крут для меня, половину его функций не использую. Но вот WP тож чего-то не вдохнавляет. Вот бы скриптик какой чтоб на Drupal перехать...
Мы по граблям с кодировками в MySQL гуляли в начале года. Незабываемые воспоминания! Подробности описаны здесь
Vot potchemu luche izpolzovat typepad ;-))
Kstate esli kto to chotchet "tips" po Movabletype (3.16, 3.2 i 3.3) mojno toje dat.
mi sdelali vo frantis ne plokhie vechi s MT i s Typepad (www.atikal.fr, www.meotec.com http:/:textinthecity.typepad.fr s typepad i www.gammedeschefs.net www.elenbi.com itd s Movabletype). esli voprossi pichite ! (i napominaiu chto daem poka besplatno typepad PRO vssem blogeram kotorie khotiat)
Pierre: верно :)
Дмитрий, комментарии по email так и продолжают приходить в нечитаемом виде. Раньше все было нормально, с других Wordpress-powered сайтов тоже приходят нормально.
У меня ThunderBird 1.5.0.5
Кстати, в Gmail комментарии, по-моему отображаются правильно.
Эх, надо было сначала пообедать :-)
А вообще - может пора менять приверженость к брендам? :-))
Алексей Винидиктов: пытаюсь отловить багу. В Gmail, кстати, читаются нормально -- интересно, это Gmail так великолепно парсит письма?..
Alex Dybenko: другие блог-движки что-то ну как-то не так вот мне %) (хе-хе). Это как язык программирования или фрэймворк -- если хорошо знаешь, то трудно заставить себя перейти на что-то другое.
Знакомые до боли проблемы. ;-(
моя история
Дмитрий, насчёт комментариев по e-mail — я немного доработал плагин wp_mail_cyrillic для корректной работы с UTF-8 (с указанием кодировки в заголовках по RFC 2047), попробуй :-)
Но сломалась кодировка – вместо положеной UTF-8 буквы оказались… в той самой UTF-8, если её смотреть в CP1251.
Что, прямо сама взяла и сломалась, на хостинге, или у нас админы хостов чтобы развлечь себя кодировки в клиентских базах меняют?
Хорошо, что сделал бэкап. Восстановил. Помучился. Не получается. Опять восстановил…
В общем, пришлось конвертировать вручную:
А как же бекап?
Всё дело в грамотном импорте..
maximum: предыдущая версия WordPress сохраняла в другой кодировке. Does it make sense?
"А как же бекап" -- всмысле?
В какой же, если не в UTF-8?
CP1251 на MySQL
У меня был похожий случай, только я переводил сайт с одного хостинга на другой. Проблема также оказалась в базе.
Хорошо, когда все оканчивается благополучно. А я дал "знатоку" обновить, дак он и вовсе мне все добил. Дебил!
Дмитрий, Макс, до боли - это не то слово, запомню букву ш до конца жизни (к счастью, у украинском языке нет большой буквы И).
Наверное, стоит выложить конвертор в открытый доступ.
Столкнулся с похожей проблемой в прошлом. Сменил базу, помогло. Теперь все нормально работает.
приму к сведению. ведь на чужих ошибках учатся)
да, такие чудеса не редкость)