> 백엔드 개발 > PHP 튜토리얼 > php接收ios中的emoji表情存入数据库为????。

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

WBOY
풀어 주다: 2016-06-23 14:21:27
원래의
1121명이 탐색했습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿