Максим Покровский

— Привет, меня зовут Максим Покровский. Вы находитесь в моем рабочем кабинете. Поскольку я фрилансер, будем считать, что именно так он и выглядит. Здесь я пишу много интересных вещей, и если вы почувствовали, что я именно тот человек, который вам нужен, то я всегда открыт для контакта.

Сейчас работаю над:


  • Разработка одного стартапа

    Текущй статус - разработка ТЗ.

  • Разработка конструктора для popsop.com

Заказать мне работу
18.02

Грабли Wordpress

Комментарии (7) ПронеKод

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

define('DB_CHARSET', 'CP1251');
define('DB_COLLATE', 'utf8_general_ci');

ничего путного не дали. Только сменили шило на более приемлемое мыло. Вместо сплошных крокозябр, последние появились только вместо букв “Ш” и “И”. Штурм твердыни суппорта ничего не дал. Пришлось подключать сторонний мозг… и средство нашлось.

Открываем файл wp-db.php ищем в нем $this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword); и после этой строчки пишем:

mysql_query( 'set names utf8' );
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");

Похоже что проблема только с mysql5

ЗЫ
Я не куда не пропал, просто работы много…

В записи нет меток.

Комментарии

  1. 1
    Dimox (18.02.2008) #

    О, господи! Я уже устал задавать один и тот же вопрос: “Что вы все нашли в этом хостинге?!”. Ведь там даже нормальной панели управления нет. А с Вордпрессом, ИМХО, там вообще не чего делать, иначе - сплошной гемор.

  2. 2
    Максим Покровский (18.02.2008) #

    Не я выбирал )
    Я сам с Мажардомо сотрудничаю

  3. 3
    Repka (18.02.2008) #

    Кстати, вопрос хостинг очень интересный, так как ничего нормального из виртуалов я подобрать не смог.

  4. 4
    Vladimir (10.03.2008) #

    Вопрос: а ALTER DATABASE `db_name` CHARSET ‘utf8′ совсем не рулит?

    Кстати, charset и collate ну совсем не совместимы :-( Collate - это подмножество charset, которое определяет, как именно будет осуществляться сравнение/сортировка строк (грубо говоря, если charset - это множество европейских языков, то collate определяет, по правилам какого языка будет осуществляться сравнение).

    А так как сначала задается charset, а потом уже collate, то при задании несовместимого collate MySQL делает fallback на charset, совместимый с указанным collate (т.е. для случая в примере это utf8).

  5. 5
    Максим Покровский (10.03.2008) #

    Вопрос: а ALTER DATABASE `db_name` CHARSET ‘utf8′ совсем не рулит?

    Черт его знает. В тех вещах в которых я не самый-самый профессионал, я следую первому правилу админов: “Работает - не трожь!” :)

  6. 6
    Виктор (14.05.2008) #

    Нормальный хостинг - Мастерхост, сам им пользуюсь и никаких проблем :)

  7. 7
    Максим Покровский (14.05.2008) #

    Ты счастливчик :)

Оставить комментарий

Вы можете использовать простые теги форматирования HTML (вроде <a>, <ul> and others). Чтобы вставить пример код, используйте
<code lang="php">$a = "hello";</code> (поддерживаемые языки: ruby, php, yaml, html, css, csharp, javascript). Также Вы можете использовать <code>$a = "hello";</code>, синтаксис не будет подсвечен. Если вы не хотите использовать тег <code>, замените символ < на &lt;



— Люди делятся на заказчиков и тех, кто может ими стать.
(девиз успешного фрилансера)

Rambler's Top100