app後端設計 5 表情的處理

2022-03-02 21:58:23 字數 578 閱讀 2755

1. 表情在mysql的儲存。

表情的utf8編碼,有時是有4個位元組的,所以在一般的utf編碼是沒法儲存的,我在網上看到的乙個常用的解決方案,是把mysql公升級到5.5,然後把字元編碼改為utf8mb4_general_ci。但在實踐中,我發現了還有乙個方法,適用於mysql

5.1,就是把含有表情的那個欄位的型別變為blob, 沒錯,就是用二進位制儲存。

2. 當文字中夾帶表情的處理

很多時候,如果文字中夾帶表情,那麼這些文字的處理就會出現問題,例如,如果乙個使用者的暱稱帶有表情,那麼我怎麼把這個暱稱轉換為拼音呢?在實際的開發中,我遇到了這個個問題,先是找到了這個轉換表情的類庫,但發現這個類庫不支援ios6後新增的表情,最後沒辦法了,我寫了個抓取程式,把中ios6後新增的表情抓取出來,並寫了個新的類庫並開源了這個類庫的作用就是把文字中夾帶的表情替換為乙個特殊的字元(預設是"#")。

如果您覺得這系列的文章對你有所幫助,歡迎打賞。

支付寶賬號:[email protected] 收款人:曾健生

[文章作者]曾健生

[作者郵箱][email protected]

[作者qq]190678908

[部落格]

app後端設計 6 LBS

在lbs的應用中,乙個基本的需求是查詢附近的使用者,現在有兩種做法 1.使用mysql的空間資料庫,具體做法參考 2.使用geohash編碼,這個是本文需要討論的。geohash編碼,可以把球面上的經緯度轉換成乙個值,簡單點來說就是把二維座標轉換成一維座標。查詢附近的時候,非常方便,用sql中,li...

app後端設計 資料增量更新

因為分頁機制的存在,這個演算法實現起來是挺多需要注意的地方,下面我舉乙個簡化的例子詳細說明 一些假設 count 每頁的顯示條數 預設為3 page 當前頁碼 預設為1 since 時間戳,若指定此引數,則返回時間戳大於等於since的結果 應該是上次獲取的最新資料的update time max ...

app後端設計 資料增量更新

因為分頁機制的存在,這個演算法實現起來是挺多需要注意的地方,下面我舉乙個簡化的例子詳細說明 一些假設 count 每頁的顯示條數 預設為3 page 當前頁碼 預設為1 since 時間戳,若指定此引數,則返回時間戳大於等於since的結果 應該是上次獲取的最新資料的update time max ...