私は、MySQLのテキストフィールドに文字列の一部として絵文字を格納しています:MySQL内のデータから実際のutf8コードを復元するにはどうすればよいですか?
<div><span id="emoji_1f600">😀</span></div>
フィールドをMySQLのにはutf8_general_ciセットを持っています。データはMySQLのにフィールドに格納されている場合、データは次のようになります。
<div><span id="emoji_1f600">😀</span></div>
私はそれが原因で絵文字が格納されている方法であると仮定しています。奇妙な文字の代わりに&#x1f600というユニコードを見たと思ったので、私がこの点について間違っていると教えてください。
私はMySQLのフィールドからphp varにデータを取得し、部分文字列を使ってspanタグの間の実際の絵文字を取得します。 PHP varに値が次のようになります。
「C0E8Kb、」
私のコードは次のようにして戻ってユニコードを取得しようとする試みを行います
$code = utf8_encode($code) //$code contains the string "C0E8KB,"
結果が「CB0CB8CBCです「BB、」
私は明らかに適切に絵文字UTF8コードを処理し、任意およびすべてのヘルプや命令を歓迎しておりません。事前に
感謝。
私は本当にUTF8を完全に必要としません。ただ1つのフィールドに。 MySOLのフィールドにはutf8と入力されています。
いいえ私は問題の説明に大きな間違いをしました。私のコードは
<div><span id="emoji_1f600">😀</span></div>
しかし、このHTMLを実際に絵文字としてレンダリングされているサードパーティと私のspanタグ内の絵文字コードからエディタ内にある次のHTMLを生成していることは事実です。私は編集者からのデータを保存するときに、私は戻って、エディタから取得することは以下の通りです:
<div>test 2 <span id="emoji_1f600">😀</span></div>
私は、spanタグの間に奇妙な文字を想定しています、それがレンダリングされているため、実際の絵文字です。これはそのままですか、それともデータベースに格納する前に実際の&#x1f600コードに置き換えるべきですか?私が恐れているのは、データベースから文字列をレンダリングするhtml文字列に置くと、実際の絵文字がレンダリングされないということです。
https://stackoverflow.com/questions/279170/utf-8-all-the-way-through – arkascha
[UTF-8のすべての方法]の可能な複製(https://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –
情報をありがとうございます。私は完全に理解していますが、これは私が追求したい道ではありません。だから、utf8への完全な変換を必要とせずに文字列に絵文字を埋め込むための最良の仕組みや技術を教えてくれますか? – Tim