@RA
RA
12 Apr 2016

Ебатушки-ребятушки

MySQL's utf8 encoding is not actual UTF-8. It's an encoding that is kinda like UTF-8, but only supports a subset of what UTF-8 supports. utf8mb4 is actual UTF-8.

А чтобы перейти с utf8 на utf8mb4 надо сделать 6 шагов
https://mathiasbynens.be/no...8mb4#utf8-to-utf8mb4

Но и этого мало. utf8mb4 не умеет fulltext индексы. А значит придётся делать одно поле utf8, а второе utf8mb4.
И это всё надо чтобы хранить в базе смайлики. Скажите мне что я не прав и можно сделать иначе.

Рекомендовано: dybr и Tenno-Seremel
12 Apr 2016

считаешь легче будет сменить хранилище?

#iaikw/2 в ответ на /1
12 Apr 2016

Ну, для начала поискать другие причины для её смены. Вдруг ещё что найдёшь. А так, мало ли какой там код внутри, может быть и не легче.

#iaikw/3 в ответ на /2
12 Apr 2016

как зачем? чтобы страдать!

#iaikw/4 в ответ на /1
12 Apr 2016

RA, всё так, кроме индексов: http://dev.mysql.com/doc/re...xt-restrictions.html

Full-text searches can be used with most multibyte character sets.
The exception is that for Unicode, the utf8 character set can be used, but not the ucs2 character set.
The remarks for utf8 also apply to utf8mb4

12 Apr 2016

странно, мне почему-то не дал создать фултекст индекс

#iaikw/6 в ответ на /5
12 Apr 2016

RA, а фуллтекст по-моему только на MyISAM работал.

#iaikw/7 в ответ на /6
12 Apr 2016

начиная с 5.5 в innoDB тоже работает

#iaikw/8 в ответ на /7
13 Apr 2016

RA, а по той же ссылке пишут, что с 5.6

Full-text searches are supported for MyISAM tables only. (In MySQL 5.6 and up, they can also be used with InnoDB tables.)

#iaikw/9 в ответ на /8
13 Apr 2016

значит с 5.6

#iaikw/10 в ответ на /9
18 Apr 2016

Вернулся к этому вопросу.
Оказалось, что mysql отфутболивал создание составного fulltext индекса в котором были utf8mb4 и utf8 поля одновременно.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.