私たちが数年前に開発した ColdFusion アプリケーションは、Twilio と連携して受信テキスト メッセージを記録しました。 UTF-8 メッセージ ペイロードは、NVARCHAR データ型を使用して MSSQL データベースに保存されており、問題なく Web ページに表示できました。 CSV ファイルをサードパーティの Windows プログラムにインポートする場合、拡張 ASCII 文字が検出されると、ランダム エラーが発生してインポートが中止されます。 データを削除したくはありませんでしたが、絵文字を HTML エンティティや 10 進数値に変換することも望ましくありませんでした。HTML 環境の外では意味がなくなるためです。
そこで私たちは email-java Java ライブラリを発見しました。 これは「Java に欠けている絵文字ライブラリ」と宣伝しており、Java (または ColdFusion) ではネイティブに利用できない絵文字固有の機能を多数追加しています。
これは、CFML プロジェクトで絵文字を識別、サニタイズ、変換するのに役立つ cf-email-java ラッパーです。 (注: 単純な Gist を作成しただけではなく、Github でプロジェクトを作成するのはこれが初めてです。)
CSV エクスポートでは、文字列とメッセージに対して parseToAliases メソッドを使用しました。 I like :pizza:.
に変換されました機能の例をいくつか示します。
emojijava.isEmoji('❤️'); // true emojijava.isEmoji('I ❤️ ?'); // false emojijava.containsEmoji('I ❤️ ?'); // true emojijava.isOnlyEmojis('I ❤️ ?'); // false emojijava.isOnlyEmojis('? ❤️ ?'); // true emojijava.parseToAliases('I like ?'); // I like :pizza: emojijava.parseToHtmlDecimal('I ❤️ ?'); // I ❤️ 🍕 emojijava.parseToHtmlHexadecimal('I ❤️ ?'); // I ❤️ 🍕 emojijava.removeAllEmojis('I ❤️ ?'); // I emojijava.removeAllEmojisExcept('I ❤️ ?', "pizza"); // I ? emojijava.removeEmojis(text, "pizza"); // I ❤️ emojijava.removeEmojis('I ❤️ ?', "[emoji]"); // I [emoji] [emoji] emojijava.extractEmojis('I ❤️ ?'); // I ["❤️", "?"] emojijava.extractEmojis('I ❤️ ?', true); // an array of structs w/emoji data
https://github.com/JamoCA/cf-emoji-java
以上がemoji-java の CFML ラッパー (絵文字の識別、サニタイズ、変換)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。