single.php

include (TEMPLATEPATH . '/searchform.php');
if (have_posts()) : while (have_posts()) : the_post();
the_time('F j, Y'); август 12, 2006
the_author(); Yantar
the_category(', '); wordpress, для продолжающих
the_ratings();
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 2)
UTW_ShowTagsForCurrentPost("commalist"); Ключевые темы: No Tags
show_post_count(); Просмотров: 5031

the_content();

Сегодня я, наконец, собралась с духом и переконвертировала базу одного из своих сайтов на вордпрессе из UTF-8 в Win1251.
Очень долго мне казалось, что это как-то глупо - менять кодировку движка с универсальной на локальную. Пока я не столкнулась с тем, что у заказчика хостинг на мастерхосте, где, как всем известно, MySQL версии 4.0, а значит, UTF8 с русским языком там работает некорректно - нет поиска и нет сортировки по алфавиту. Сортировка мне была не слишком критична, а вот без поиска никак. Какое-то время я пыталась придумать решение (ведь phpMyAdmin все же правильно ищет по базе, если скормить ему слово закорючками), но в итоге я поняла, что у меня банально не хватает на это времени: сайт должен быть сдан уже на следующей неделе.
Процесс переконвертирования оказался довольно муторным из-за рвущегося диалапа (в Питере РОЛ работает похуже, чем в Москве), но, в принципе, там нет ничего сложного. После этого я поправила несколько файлов движка (руководствуясь вот этой инструкцией), и все заработало.
Одним из бонусов стала правильная сортировка тагов плагина Ultimate Tag Warrior - ее мне несколько не хватало при добавлении контента, хотя посетители сайта в ней бы не нуждались.
В общем, резюмируя: UTF - хорошо, но с российскими хостерами не всегда подходит.

Насколько этот текст оказался полезным?
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 2)
comments_template();

Комментарии (11) к записи «несколько слов о кодировке»

  1. Жора Уфолог Says:

    у меня с российскими хостерами работает. главное, чтобы “русский апач” не стоял

  2. ganges Says:

    :) Это подмена технического понятия на социальное. UTF-8 хорошо, но с русскими хостерами не работает. А вообще - снимаю шляпу перед дамой, в каких условиях (рвущийся диалап) Вам приходится работать.

    Я испытывал подобную юоль и не с русским хостером, решил я ее просто убив БД и создав новую с поддержкой UTF-8 изначально, четыре раза пнув саппорт.

    И вообще, Вы пробовали саппорт, простите, пнуть? Очень интересно, что же бы они Вам ответили.

    Интересные ссылки

  3. nachberlin Says:

    Ну, к счастью, рвущийся диалап - это было временно, обычно я все же на выделенке.
    А пнуть саппорт - к мастерхосту по остальным вопросам у меня нет никаких претензий, он зарекомендовал себя как хостер с отличной поддержкой. И я думаю, не я одна просила включить SQL 4.1 для поддержки UTF-8, эта тема очень часто поднимается, но у них почему-то предубеждение :-)

  4. игорь Says:

    1. в Питере весь диалап плохо работает, особенно днем, особенно в центре, что РОЛ, что остальные. дорого и плохо.
    2. utf-8 - кошмар на улице Вязов, лучше не надо…! по этой же причине MySQL выше 4.0.х лучше не использовать. проблемы с базами 4.1.х есть и у заграничных хостеров, но там саппорт “пинать” не надо, достаточнол попросить! :)
    Резюме: к черту диалап, к черту utf-8!

  5. ђi Says:

    1) Ничего личного.

    2)
    Если коротко: поубивал-бы :)

    Если подробно и внятно:

    Пишите: “Какое-то время я пыталась придумать решение (ведь phpMyAdmin все же правильно ищет по базе, если скормить ему слово закорючками), но в итоге я поняла, что у меня банально не хватает на это времени”.

    Я говорю: вот из за таких с нехваткой времени и взрываются атомные реакторы, не летят ракеты в космос, умирают люди у которых отказывают кардиостимуляторы!
    Неужели у Вас не нашлось 5-ти минут что бы написать простейшую функцию, которая заменяет русские символы на соответствующие крокозябры UTF-8?
    На perl эта функция имеет всего 4 строки и состоит из 6 команд языка, на php надеюсь не надо подсказывать чем заменить один фрагмент текста на другой (если надо, я не знаю :)?
    Написали бы перекодировку в кракозябры и уже в кракозябрах давали бы запрос на поиск в базу и всё было бы замечательно…
    Времени не было… Да Фу! И ещё раз Фу!!!

    ПослеСловие.
    Как то Вы действуете не как самоучка, а как обычный ленивый студент, который банально зазубрил учебник и не располагает всей глубиной собственного интеллекта :(

    ПослеПослеСловие.
    Я и раньше то на мир смотрел с грустью, а почитал Вас, так вовсе разочаровался…

  6. nachberlin Says:

    1. спасибо за расшифровку претензий, это ценно :-)
    2. в том-то и дело, что я прогоняла строку поиска через подобную функцию. описанное происходило полгода назад, подробностей я не помню, но выдача меня совсем не устраивала. естественно, я пыталась как-то рещить задачу, но в итоге поняла, что проще всего именно перейти на другую кодировку.
    3. к тому же я не вижу ничего криминального в том, чтобы блог был в той же кодировке, что и база. даже наоборот.
    4. а ракеты и кардиостимуляторы незачем на меня вешать, я вполне сознательно ими не занимаюсь :P

  7. RLH Says:

    Сам нахожусь в Питере, правда в стомегабитной домашней сети. Когда-то годами сидел на модеме, но сейчас искренне удивлен, что якобы по dial-up в Питере плохая связь, тем более в условиях оттока абонентов. Больше верится, что это скорее проблема с конкретной АТС и конкретным провайдером. А сравнение с Москвой вообще ни к чему, ибо явно субъективно.

  8. Sol Says:

    Мостархост с недавних пор работает с mySQL 5.0
    То есть с UTF-8 там уже все в порядке
    Ну… почти
    У меня блог на WP там в UTF-8 — все отлично кроме поиска
    Но это меньшее из зол, если увязывать блог с другими системами (ЖЖ например)

  9. Yantar Says:

    Ага, я знаю, что мастерхост, наконец, обновился.
    Но я уже, пожалуй, не буду обратно переделывать - “если работает, то не трогай”© :-)

  10. МУХОМОР Says:

    А я всё-таки перелезу обратно на UTF8 в ближайшее время. Большинство клиентов не понимаются cp1251

  11. vasian Says:

    правильно мухомор

Есть комментарии?

show_manual_subscription_form();

Subscribe without commenting

endwhile;