1

谁能告诉我如何在 ruby​​ 1.8.7 中编写一个 ruby​​ 正则表达式来检测 4 字节 unicode 字符(特别是表情符号)的存在?我正在尝试处理 mysql默认情况下不允许您存储 iOS 5 现在正在使用的 4 字节表情符号 unicode 字符的事实。

谢谢!

4

2 回答 2

2

这似乎与代表表情符号的四个字节中的前两个字节匹配。这是在 ruby​​ 1.8.7 中运行的。

str.match(/\360\237/)
于 2011-10-15T17:15:31.763 回答
0

使用非阻塞在线方法更改表可能是可行的,例如 Maatkit 的在线模式更改:http ://www.percona.com/doc/percona-toolkit/pt-online-schema-change.html

从文档:

简而言之,此工具通过创建一个临时表来工作,该表是原始表(正在更改的表)的副本。(临时表不像 CREATE TEMPORARY TABLE 那样创建;我们称它为临时表是因为它最终会替换原始表。)临时表被更改,然后在原始表上定义触发器以捕获对其所做的更改并将它们应用于临时表。这使两个表保持同步。然后将所有行从原始表复制到临时表;这部分可能需要一段时间。完成复制行后,使用 RENAME TABLE 交换两个表。此时,该表有两个副本:曾经是原始表的旧表,以及曾经是临时表但现在与原始表同名的新表。

于 2011-10-15T06:24:14.127 回答