23

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

「uD83D\uDE0B」に対応する写真を取得する方法がわかりません。

'uD83D\uDE0B' と '\uE056' の関係は? どちらも「おいしいものを食べる」という絵文字を表しています。

4

3 に答える 3

9

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

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

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

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

于 2012-05-14T09:23:50.577 に答える
3

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

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

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

作成者は基本的にスプライトを作成し、絵文字のユニコードに従って css を調整します。きれいではありませんが、幸いなことに、彼/彼女はあなたのためにすべての面倒な仕事をしてくれました。別の言語を使用している場合は、似たようなものを見つけることができるはずです。

于 2014-09-23T22:41:04.293 に答える
0

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

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

それをphpファイルに入れると、疑問符とそうでないものに変わります

次に、エンコードの問題があります。絵文字について心配する前に、まず実際に正しく表示される Unicode 文字 (例: ąαд™日本) で解決してください。

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

でも。このようにすべてを正しく処理しても、PC ではまだ絵文字が表示されません。その理由は次のとおりです。

それらの文字の形状を含むフォントがありません。

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

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

Google と Apple が主導して、さまざまなネットワークの絵文字を照合し、Unicode で適切な標準化された場所を提供する提案が進行中です。それまでは、絵文字をネットワーク全体で一貫して表示することは、不幸の練習です. 標準化作業のキャラクターの概要を参照して、どの程度の変換を行う必要があるかを確認してください。

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

于 2012-05-14T09:01:19.183 に答える