Регулярное выражение в ruby ​​1.8.7, которое обнаружит 4-байтовый символ Unicode

Может кто-нибудь сказать мне, как я написал бы регулярное выражение ruby ​​в ruby ​​1.8.7, чтобы обнаружить присутствие 4-байтового символа юникода (особенно смайликов)? Я пытаюсь учесть тот факт, что mysql по умолчанию не позволяет вам хранить 4-байтовые символы Unicode Emoji, которые теперь используются в iOS 5.

Спасибо!

2 ответа

Решение

Похоже, что это совпадает с первыми двумя байтами четырех байтов, которые представляют эмодзи. Это работает в ruby ​​1.8.7.

str.match(/\360\237/)

Изменение таблицы может быть осуществимо с использованием неблокирующего онлайн-подхода, например, онлайн-изменение схемы Maatkit: http://www.percona.com/doc/percona-toolkit/pt-online-schema-change.html

Из документов:

Вкратце, этот инструмент работает путем создания временной таблицы, которая является копией исходной таблицы (изменяемой). (Временная таблица не создается как CREATE TEMPORARY TABLE; мы называем ее временной, поскольку она в конечном итоге заменяет исходную таблицу.) Временная таблица изменяется, затем в исходной таблице определяются триггеры, чтобы зафиксировать сделанные в ней изменения и применить их к временный стол Это синхронизирует две таблицы. Затем все строки копируются из исходной таблицы во временную таблицу; эта часть может занять некоторое время. По завершении копирования строк две таблицы меняются местами с помощью RENAME TABLE. На данный момент существует две копии таблицы: старая таблица, которая раньше была исходной таблицей, и новая таблица, которая раньше была временной таблицей, но теперь имеет то же имя, что и исходная таблица. Если указан --drop-old-table, то старая таблица удаляется.

Другие вопросы по тегам