Heim >Backend-Entwicklung >PHP-Tutorial >php接收ios中的emoji表情存入数据库为????。

php接收ios中的emoji表情存入数据库为????。

WBOY
WBOYOriginal
2016-06-23 14:21:271125Durchsuche

php接收ios中的emoji表情存入数据库为????。按网上说的改了数据库的编码为utf8mb4.数据库的版本为5.5.24.求教,急,在线等


回复讨论(解决方案)

变成 ???? 表示编码不能被识别,需要转码
如果你不会写,就
echo base64_encode('emoji表情数据');
贴出结果

php接收ios中的emoji表情存入数据库为????。按网上说的改了数据库的编码为utf8mb4.数据库的版本为5.5.24.求教,急,在线等
$base =  base64_encode("接收ios中emoji表情");
5bqf6K+d54Gr6ZSF8J+Rqw== 这个是结果
有一个表情是认得的。$base =  base64_encode("?");

变成 ???? 表示编码不能被识别,需要转码
如果你不会写,就
echo base64_encode('emoji表情数据');
贴出结果
$base =  base64_encode("接收ios中emoji表情");
5bqf6K+d54Gr6ZSF8J+Rqw== 这个是结果
有一个表情是认得的。$base =  base64_encode("?");

对不起,在我的环境中怎么也看不出
echo "\xf0\x9f\x91\xab";
能显示什么
如有知道的请说一下,或贴个图

对不起,在我的环境中怎么也看不出
echo "\xf0\x9f\x91\xab";
能显示什么
如有知道的请说一下,或贴个图
我网上找了个emoji for php的,把你的\xf0\x9f\x91\xab使用函数转完之后是这个图片

那你在保存时需要用正则 /\xf0.../ 做一下替换

那你在保存时需要用正则 /\xf0.../ 做一下替换
现在主要是我接收到是什么我不知道啊。你的这个\xf0\x9f\x91\xab是怎么来的?

本帖最后由 xuzuning 于 2013-09-09 14:19:46 编辑

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

/*

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));

/*

Array
(
    [1] => e5ba9fe8af9de781abe99485f09f91ab
)
其中 e5ba9fe8af9de781abe99485 是 废话火锅
f09f91ab 就是图标了
0xf0 的二进制表示是 11110000
按 utf-8 的编码规则,前面的1的个数是占用字节数
因此 f09f91ab 就是一个整体了
*/
请问老大,你这个转完的e5ba9fe8af9de781abe99485f09f91ab怎么变成废话火锅\xf0\x9f\x91\xab的。怎么区分出来的?

正则表达式规则  /\xf0.../ 可以把你找到所有的 emoji表情 字符
至于替换成什么,那要由你决定

"\xf0\x9f\x91\xab" 只是在程序中表示一个二进制数据的方法,并不能在数据交换中使用
比如,将 '\xf0\x9f\x91\xab' 存入数据库,再去回来也还是 \xf0\x9f\x91\xab ,并不能还原成emoji表情字符

正则表达式规则  /\xf0.../ 可以把你找到所有的 emoji表情 字符
至于替换成什么,那要由你决定

"\xf0\x9f\x91\xab" 只是在程序中表示一个二进制数据的方法,并不能在数据交换中使用
比如,将 '\xf0\x9f\x91\xab' 存入数据库,再去回来也还是 \xf0\x9f\x91\xab ,并不能还原成emoji表情字符
其实很想知道客户端传给我的是什么,难道就是二进制的?


正则表达式规则  /\xf0.../ 可以把你找到所有的 emoji表情 字符
至于替换成什么,那要由你决定

"\xf0\x9f\x91\xab" 只是在程序中表示一个二进制数据的方法,并不能在数据交换中使用
比如,将 '\xf0\x9f\x91\xab' 存入数据库,再去回来也还是 \xf0\x9f\x91\xab ,并不能还原成emoji表情字符
其实很想知道客户端传给我的是什么,难道就是二进制的?
对的



正则表达式规则  /\xf0.../ 可以把你找到所有的 emoji表情 字符
至于替换成什么,那要由你决定

"\xf0\x9f\x91\xab" 只是在程序中表示一个二进制数据的方法,并不能在数据交换中使用
比如,将 '\xf0\x9f\x91\xab' 存入数据库,再去回来也还是 \xf0\x9f\x91\xab ,并不能还原成emoji表情字符
其实很想知道客户端传给我的是什么,难道就是二进制的?
对的
那我正则应该怎么匹配\xf0\x9f\x91\xab。求帮忙!

正则表达式规则  /\xf0.../ 可以把你找到所有的 emoji表情 字符
至于替换成什么,那要由你决定

"\xf0\x9f\x91\xab" 只是在程序中表示一个二进制数据的方法,并不能在数据交换中使用
比如,将 '\xf0\x9f\x91\xab' 存入数据库,再去回来也还是 \xf0\x9f\x91\xab ,并不能还原成emoji表情字符
那我正则应该怎么匹配\xf0\x9f\x91\xab。求帮忙!表达式怎么写???

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:返回字符串截取循环Nächster Artikel:请教一个简单的SQL