Maison >développement back-end >tutoriel php >php接收ios中的emoji表情存入数据库为????。

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

WBOY
WBOYoriginal
2016-06-23 14:21:271125parcourir

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。求帮忙!表达式怎么写???

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:返回字符串截取循环Article suivant:请教一个简单的SQL