2011-10-15 24 views
1

誰能告訴我怎麼在ruby 1.8.7中寫一個ruby regexp來檢測4字節unicode字符(特別是表情符號) ?我試圖處理這個事實,即mysql does not, by default,允許您存儲4個字節的表情符Unicode字符,現在正在由iOS 5使用。紅寶石1.8.7中的正則表達式,將檢測一個4字節的Unicode字符

謝謝!

+0

爲什麼不使用文章中給出的修復? –

+0

我的桌子上有很多行,以至於改變桌子會讓我的網站在幾天內崩潰。不幸的是,這不是我們的選擇。 – esilver

+0

如何添加一個新列,並運行部分更新? –

回答

2

這似乎與代表表情符號的四個字節的前兩個字節匹配。這是在紅寶石1.8.7運行。

str.match(/\360\237/) 
0

使用非阻塞聯機方法(例如, Maatkit的在線模式變化:http://www.percona.com/doc/percona-toolkit/pt-online-schema-change.html

從文檔:

簡而言之,該工具通過創建臨時表是原始表的 副本(一個被修改)。 (臨時 表不是創建臨時表;我們稱它爲臨時 ,因爲它最終會替換原始表。)臨時 表被更改,然後觸發器在原始表上定義爲 捕獲對其進行的更改和將它們應用於臨時表。這 保持兩個表同步。然後將所有行從 原始表複製到臨時表;這部分可能需要一段時間。當 完成複製行時,通過使用RENAME TABLE交換這兩個表。 此時表格有兩個副本:舊錶格 曾經是原始表格,而新表格曾經是臨時表格 ,但現在與原始表格具有相同的名稱。如果 - 指定了drop-old-table,則刪除舊錶。