2017-09-08 4 views
0

私はMySqlデータベースを持っています。 電報をテーブルに保存します。絵文字テレグラムをテーブルMySqlに保存するには?

メッセージはEmojiアイコンです。保存されていますか? データベースのタイプをutf8mb4_persian_ciに変更し、テーブルをutf8mb4_persian_ciに変更しました。

でもまだ????それが示している。

私は何をしますか?

+0

することは実行してください「SET NAMES utf8mb4;」を をまたUnicodeが正しいことを確認するためのUnicode絵文字のリストを参照することができます。ここをクリックしてください>> unicode.org/emoji/charts/full-emoji-list.html – xachela

+0

は、「???」で示されている絵文字だけですか?または全体のメッセージ?エモジがない場合は 正しく表示されますか? –

答えて

1

一般的に、絵文字はユニコード文字として管理されていますが、これは同じです(これをチェックしてください)。 これらがUnicode文字の場合、16進数のエンティティで変換して保存できます。 PHPで

私はこの機能を使用します。

preg_replace_callback('/[\x{80}-\x{10FFFF}]/u', function ($match) { 
    list($utf8) = $match; 
    $binary = mb_convert_encoding($utf8, 'UTF-32BE', 'UTF-8'); 
    $entity = vsprintf('&#x%x;', unpack('N', $binary)); 
    return $entity; 
}, $your_text_here); 
+0

それはن و ع ت ب ل ی غ ر و ا ز ب ی ن گ ز ی ن ه ه ا ی ز ی ر&#x1f447 genarateです。 ا ن ت خ ا ب ک ن ی د –

+0

どのようにメッセージを送信するには?エンコードhtml? –

+1

あなたのページにこのテキストを置くだけで、あなたのブラウザがあなたのためにやるか、 'html_entity_decode($ text_here)'を使用します:D – Ryosaku

関連する問題