我的存儲表情符號,文本字段MySQL中的字符串的一部分:如何從MySQL中的數據恢復實際的utf8代碼?
<div><span id="emoji_1f600">😀</span></div>
領域的MySQL有utf8_general_ci設置。當數據被存儲在MySQL的領域,數據現在看起來是這樣的:
<div><span id="emoji_1f600">😀</span></div>
我假設是因爲表情符號的存儲方式。請教我如果我在這一點上是錯誤的,因爲我想我會看到&#x1f600的Unicode而不是奇怪的字符。
然後,我將MySQL字段中的數據讀取到一個php var中,並執行一個子字符串以獲取span標記之間的實際表情符號。在PHP的VAR值,現在看起來是這樣的:
「C0E8Kb,」
我的代碼,使試圖讓Unicode的背面通過執行以下操作:
$code = utf8_encode($code) //$code contains the string "C0E8KB,"
結果「CB0CB8CBC 「BB」,
我顯然不正確地處理表情符號UTF8編碼,並歡迎任何及所有的幫助和指導。
在此先感謝。
我並不真的需要UTF8。只在一個領域。其中MySOL中的字段被輸入爲utf8。
好的我在我的問題描述中犯了一個重大錯誤。這是事實,我的代碼生成下面的HTML
<div><span id="emoji_1f600">😀</span></div>
然而,這個網站是從第三方和我的span標籤內表情符號的代碼編輯器實際上是被渲染爲表情符號之內。所以,當我從保存編輯器中的數據,我所得到的從編輯回如下:
<div>test 2 <span id="emoji_1f600">😀</span></div>
我假設的跨度標籤之間的奇怪字符是實際的表情符號,因爲它正在呈現。這是好的,還是應該用實際的&#x1f600代碼替換它,然後將它存儲到數據庫中?我擔心的是,如果我這樣做,那麼當我將數據庫中的字符串放入要呈現的html字符串時,實際的表情符號將不會呈現。
https://stackoverflow.com/questions/279170/utf-8-all-the-way-through – arkascha
[UTF-8一路通過]的可能重複(https://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –
感謝您的信息。我完全理解,但這不是我想追求的道路。那麼你能否告訴我用於在字符串中嵌入表情符號的最佳機制或技術,而不需要全部轉換爲utf8? – Tim