以前モバイル開発をしていた時に、実装が必要なコメント投稿機能があったのですが、この機能は比較的簡単に実装できたのですが、テストしたところ、携帯に付属している絵文字が失敗するというバグがあったとのこと。送信するメッセージが常に表示されるので、今日はこのバグの解決策を紹介します
1. バックグラウンドでデータベース形式を変更します
SQL ステートメントを実行して、データベースのエンコード形式を utf8mb4 保存形式に変更します。 -8 ストレージ フォームは完全な互換性があります 以前の 3 バイト ストレージ フォームは絵文字表現を直接保存でき、これが最も完璧なソリューションです
2. Base-64 エンコーディングを使用します
たとえば、base-encode を使用して絵文字をエンコードできます。式を削除してUTF -8で保存し、取り出すときにデコードするだけですが、試していません
3. 絵文字式を削除します
暴力的に削除します、おそらくPMはこれに同意しないでしょう
4.フロントエンド処理
それはサードパーティを介して行われます プラグインは入力された絵文字をspanタグに変換し、それを対応するクラスに割り当てます バックグラウンドに送信するときに、大量の絵文字と表情画像を見つけます。これの利点は、表示がすべてのデバイスで同じになることですが、欠点は、絵文字表現が更新されることです。見つかった絵文字表現画像ライブラリが不完全で、一部の表現がページに表示されない可能性があります。これには定期的なメンテナンスが必要です
比較的使いやすいプラグイン ライブラリ github.com/node-module をお勧めします。 ..
使用方法: まず、絵文字プラグインをダウンロードします
<link href="http://cdn.staticfile.org/emoji/0.2.2/emoji.css" rel="stylesheet" type="text/css" /> <script src="http://cdn.staticfile.org/emoji/0.2.2/emoji.js"></script>
これら 2 つのコード ライブラリをマップします。このプラグインは jquery ライブラリに依存する必要はまったくありません
接続はさらに簡単になります
var text = document.querySelector('emojiText'); cosnoel.log(jEmoji. unifiedToHTML(text.value))
commenJS 仕様を使用する場合
$ npm install emoji var emoji = require('emoji'); コンソール.log('
以上がフロントエンドで絵文字表現が送信できないバグの解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。