Блог

Фигня с кодировкой в MySQL

2 Ноября 2008, 00:00

Вот интересные грабли.

Запрос SELECT DATE_FORMAT(d_Date, '%W'), DAYNAME(DATE(d_date)) FROM `dream_main` WHERE `d_level` > 0 ORDER BY RAND() LIMIT 1; по идее должен выдавать два одинаковых столбца. Но при использовании DAYNAME() совместно с ORDER BY RAND() русский текст обрезается: выводятся первые 4 символа и половина пятого. Кодировка — UTF-8

Кто знает, как от этого избавиться? Я пока придумал только вариант с date_format(), и он меня устраивает, но хотелось бы знать причину такого безобразия.

SET @@lc_time_names = 'ru_RU'; естественно выполняется.

Собственно эта штука используется в Совии для вывода случайного сна.

Добавить комментарий