我有一個iPhone應用程序,我在其中通過Web服務將UITextview
中的文本發送到服務器。並在下一頁中顯示通過Web服務從服務器發送的評論列表。除了當我在UITextview
中插入表情符號/表情時,一切都正常工作。從iPhone中的服務器檢索後Unicode字符更改
下一頁顯示方框而不是某些表情符(不是全部)。
我注意到:
工作:我從表情符號鍵盤插入一個表情符號在
UITextview
和日誌,\ u2601印刷它的代碼,並提交這個文本的服務器。在下一頁中我得到了相同的unicode \ u2601,它工作正常。它顯示我的表情符號圖標。不工作:現在我已經插入
UITextview
其他的表情符號,從表情符號鍵盤並打印其代碼在日誌中,\ ud83d \ udc16,並提交這個文本的服務器。在下一頁中,我得到了一個與我發送的不同的unicode代碼:\ uf416。 iPhone無法識別這個unicode,所以它給了我一個方形盒子。
那麼這裏有什麼問題?只有當emoji字符有一對unicode代碼點時,它才能工作。
存儲註釋的數據庫是MySQL版本5.5。
從服務器檢索時,爲什麼表情符號字符代碼對發生變化?如何將檢索到的Unicode解碼爲原始格式,以便iPhone可以識別它?
字符D800-DFFF是[surrogates](http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters#Surrogates)。 –
你在MySQL中使用utf8mb4嗎? – Esailija
是的,我在MySql中使用utf8mb4 – Nignesh