web-dev-qa-db-ja.com

HTMLで絵文字を表示する方法

「おいしい食べ物の絵文字を保存する」という顔をデータベースに保存し、php json_encodeで「uD83D\uDE0B」と表示されているものを読み取ります。通常は1つを使用します<img />それを置き換えるラベル。ただし、通常、この形式は「uD83D\uDE0B」ではなく「\ uE056」で、pic E056.pngに置き換えられます。

写真を「uD83D\uDE0B」に侵食させる方法がわかりません。

「uD83D\uDE0B」と「\ uE056」の関係は、どちらも絵文字「おいしい料理を味わう」を表していますか?

23
jason_luo

Unicode文字U + 1F60B FACE SAVORING DELICIOUS FOODはいわゆるPlane 1文字です。つまり、UTF-16エンコード形式は2つの16ビットコード単位、つまり0xD83D 0xDE0Bで構成されます。一般に、プレーン1の文字は、多くのプログラムがそれらを処理する準備ができておらず、それらを含むフォントがほとんどないため、かなりの問題を引き起こします。

http://www.fileformat.info/info/unicode/char/1f60b/fontsupport.htm によると、この特定の文字はDejaVuフォントとSymbolaにのみ存在しますが、DejaVuのバージョンは使用しないでください。

エンコードの問題(それほど難しくはありませんが、追加情報が必要です)を処理する代わりに、HTMLで文字参照&#x1f608;を使用できます。しかし、これはフォントの問題を解決しません。 iPhoneのフォントについては知りませんが、一般にWebブラウジングでは、コンピューターが文字をレンダリングできるフォントを持っている確率はおそらく1%未満です。そのため、ダウンロード可能なフォントを使用する必要がある場合があります。画像の使用は明らかにはるかに単純で、ほとんどの場合より信頼性が高くなります。

U + E056は私的使用のコードポイントです。つまり、誰もが他の人の心に尋ねることなく、兄弟または自分とその意味について合意することができます。フォントデザイナーは、任意のグリフをそれに割り当てることができます。

9

重要:この投稿の時点で、絵文字を自動的にサポートしないブラウザはクロムのみです。

クローム用:使用しているサーバー側言語に応じて、絵文字を変換するライブラリを見つけることができるはずです。私は最近、この問題をPHPで解決する必要があり、このライブラリを使用しました:

https://github.com/iamcal/php-emoji

作成者は基本的にスプライトを作成し、絵文字のUnicodeに応じてCSSを調整します。それはきれいではありませんが、幸いにも彼/彼女はあなたのためにすべてのうなり声の仕事をしました。別の言語を使用している場合は、類似したものを見つけることができるはずです。

3

それらの小さなボックスをphpファイルに入れるにはどうすればよいですか?

他のUnicode文字と同じ方法。それらを貼り付けて、PHPファイルを保存し、PHPページをUTF-8として提供していることを確認してください。

Phpファイルに入れると、疑問符に変わります

次に、エンコードの問題があります。 ąαд™日本のように、絵文字を心配する前に、実際に最初に実際に見ることができるユニコード文字でそれを解決してください。

PHPファイルはUTF-8として保存する必要があり、生成するページはContent-Type: text/html;charset:UTF-8(または同様のメタタグを使用); MySQLデータベースはデータを保存するためにUTF-8照合を使用する必要があり、PHPはUTF-8を使用してMySQLと通信する必要があります。

しかしながら。このようにすべてを正しく処理しても、PCは絵文字を表示しません。理由は:

それらのキャラクターの形状を含むフォントがありません。

絵文字はまだ完全に標準化されていません。あなたが投稿したこれらの文字はUnicode Private Use Areaにあります。つまり、公式の意味はまったくありません。

日本の各ネットワークは、絵文字に異なる文字コードを使用し、PUAの異なる領域にマッピングします。そのため、別の携帯電話でも、さまざまなネットワーク用に絵文字コードを手動で変換するのに何年も費やさない限り、おそらく正しい文字が表示されません。上記の投稿はSoftBank(iPhone?)のものだと思います。

GoogleとAppleがさまざまなネットワークの絵文字を照合し、Unicodeで適切な標準化された場所を提供するための進行中の提案があります。不幸。標準化作業の character overview を参照して、どの程度の変換が必要かを確認してください。

神様、絵文字が嫌いです。役に立たないゴミのこのような負荷のためのすべてのその痛み。

0
MCKapur