푸시 내용에 이모티콘 표현이 포함된 경우 다음과 같이 수정해야 합니다
1 mysql은 5.5.3 버전 이상을 사용해야 합니다(업그레이드할 수 없는 경우 base64에 저장한 후 푸시 시 트랜스코딩하시기 바랍니다) )
2 테이블을 결합하고 푸시 콘텐츠 테이블 필드를 utf8mb4_unicode_ci 인코딩 형식으로 수정합니다(my.cnf 시스템을 변경하거나 mysql을 다시 시작할 필요가 없습니다)
apnsphp를 푸시에 사용하는 경우 여전히 이모티콘 표현이 ?가 되는 문제가 있나요? :
Message.php의 getPayload 메소드를 찾아 변환 트랜스코딩 판단에 "false &&"를 추가하여 실행을 비활성화하세요. 이 코드에서는 일부 이모티콘 표현이 잘립니다.
Java 코드
if (false && ! Defined('JSON_UNESCAPED_UNICODE') && function_exists('mb_convert_encoding')) {
$sJSON = preg_replace_callback (
'~ \\ u ([0-9a-f] {4}) ~',Create_function ('$ amtches',' Return MB_CONVERT_ENCODING ", $aMatches[1] ), "UTF-8", "UTF-16");'), $sJSON) }
이 시점에서 문제는 해결되었습니다.