ホームページ >バックエンド開発 >PHPチュートリアル >php は ios で絵文字表現を受け取り、データベースに ???? として保存します。

php は ios で絵文字表現を受け取り、データベースに ???? として保存します。

WBOY
WBOYオリジナル
2016-06-23 14:21:271122ブラウズ

PHP は ios で絵文字表現を受け取り、データベースに ???? として保存します。インターネットで言われているところによれば、データベースのエンコーディングは utf8mb4 に変更されています。データベースのバージョンは 5.5.24 です。至急、オンラインでお待ちください


ディスカッション (解決策) に返信してください

???? は、エンコーディングが認識できないため、トランスコーディングする必要があることを意味します
書き方がわからない場合は、単に
結果を投稿します

PHP は絵文字表現を受け取りますios を作成し、データベースに ???? として保存します。インターネット上の情報によると、データベースのエンコードが utf8mb4 に変更されました。データベースのバージョンは 5.5.24 です。至急、オンラインでお待ちください

$base = Base64_encode("で絵文字表現を受信します。 ios");
5bqf6K+d54Gr6ZSF8J+Rqw== これ 結果です
見覚えのある表現があります。 $base =base64_encode("?");

は、エンコーディングが認識できないため、トランスコードする必要があることを意味します

書けない場合は、
echo base64_encode('emojiexpression data'); を実行してください。結果
$base =base64_encode("iOS で絵文字表現を受信する");
5bqf6K+d54Gr6ZSF8J+Rqw== 結果はこれです
認識された表現があります。 $base =base64_encode("?");

私の環境では見られません

何が表示されるか教えてください



申し訳ありませんが、私の環境では表示されません。
echo "xf0x9fx91xab";
何かご存知の場合は、教えていただくか、写真を投稿してください。

あなたの xf0x9fx91xab を見つけました。関数を使用して変換した後の写真がこれです


次に、保存時に置換を行うために正規表現 /xf0.../ を使用する必要があります


次に、正規表現 /xf0.../ を使用する必要があります保存するときに置き換えを行うためです

さて、一番の問題は、何を受け取ったのかわかりません。 xf0x9fx91xab はどこから来たのですか?


この投稿は xuzuning によって最終編集されました: 2013-09-09 14:19:46

$s = '5bqf6K+d54Gr6ZSF8J+Rqw==';
print_r(unpack) ( 'H*', $s));

/*

Get

Array
(
[1] => e5ba9fe8af9de781abe99485f09f91ab
)
ここで、e5ba9fe8af9de781abe99485 はナンセンス鍋です
f09f91ab はアイコンです
0xf0 のバイナリ表現は次のとおりです11110000
UTF-8 エンコーディング ルールを押します。最初の数字 1 は占有バイト数です
したがって、f09f91ab は全体です
*/


$s = '5bqf6K+d54Gr6ZSF8J+Rqw==';
echo $s = base64_decode ($s);
print_r(unpack('H*', $s));

/* 配列を取得します (

[1] => e5ba9fe8af9de781abe99485f09f91ab
)
where e5ba9fe 8af9de781abe99485 はナンセンス鍋です
f09f91abはアイコンです
0xf0 のバイナリ表現は 11110000 です
utf-8 のエンコード規則によると、最初の 1 の数が占有バイト数です
したがって、f09f91ab は全体です
*/
ボス、どうやって変更しますかe5ba9fe8af9de781abe99485f09f91ab をナンセンス鍋 xf0x9fx91xab に変換しました。違いをどうやって見分けるのでしょうか?

正規表現ルール /xf0.../ は、すべての絵文字を見つけるのに役立ちます
何を置き換えるかはあなた次第です

「xf0x9fx91xab」は、プログラム内でバイナリ データを表す単なる方法であり、実際には使用できませんデータ交換に使用されます
たとえば、「xf0x9fx91xab」がデータベースに保存されている場合、戻ってきたときにも xf0x9fx91xab のままであり、絵文字文字に復元することはできません

正規表現ルール /xf0.../ は検索に役立ちますすべての絵文字表現 文字

何を置き換えるかはあなた次第です


「xf0x9fx91xab」はプログラム内でバイナリデータを表現するための単なる手法であり、データ交換には使用できません
たとえば、「xf0x9fx91xab」をデータベースは、もう一度戻すことができます。まだ xf0x9fx91xab ですが、絵文字に戻すことはできません
実際、クライアントが送信したものはバイナリですか?


正規表現ルール /xf0.../ は、すべての絵文字を見つけるのに役立ちます
何を置き換えるかはあなた次第です

「xf0x9fx91xab」は、プログラム内でバイナリ データを表す単なる方法であり、実際には使用できませんデータ交換に使用されます
たとえば、「xf0x9fx91xab」がデータベースに保存されている場合、戻ってきたときも xf0x9fx91xab のままであり、絵文字に復元することはできません
実際、クライアントが私に送ったものが何であるかを知りたいのです。それはバイナリですか?
そうです



正規表現ルール /xf0.../ を使用すると、すべての絵文字を見つけることができます
何を置き換えるかは、あなた次第です

"xf0x9fx91xab" は、プログラム内のバイナリ データを表すだけですこのメソッドはデータ交換には使えません
例えば、「xf0x9fx91xab」をデータベースに保存しておくと、返してもxf0x9fx91xabのままで、絵文字に戻すことはできません
実は、どういう仕組みなのか知りたいのです。クライアントから送られてきましたが、バイナリは可能ですか?
そうです
では、xf0x9fx91xabを正規表現と一致させるにはどうすればよいですか。助けてください!

正規表現ルール /xf0.../ は、すべての絵文字を見つけるのに役立ちます
何を置き換えるかはあなた次第です

「xf0x9fx91xab」は、プログラム内でバイナリ データを表す単なる方法であり、実際には使用できませんデータ交換に使用されます
たとえば、「xf0x9fx91xab」がデータベースに保存されている場合、戻ってきたときにも xf0x9fx91xab のままで、絵文字文字に戻すことはできません
では、xf0x9fx91xab を正規表現で照合するにはどうすればよいですか。助けてください!式はどうやって書けばいいのでしょうか? ? ?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。