emoji는 이모티콘이고 는 이미 휴대폰에서 매우 인기 있는 표현입니다.
문제 발생:
Emoji 표현을 삽입하고 데이터베이스에 저장하면 오류가 발생합니다.
SQLException: 잘못된 문자열 값: 행 1의 'review' 열에 대한 'xF0x9Fx98x84'
UTF-8 인코딩은 2바이트, 3바이트 또는 4바이트일 수 있습니다. 이모티콘 표현은 4바이트이고, MySQL의 utf8 인코딩은 최대 3바이트까지 가능하므로 데이터를 삽입할 수 없다.
해결책:
1. 데이터 테이블 구조의 문자셋을 utf8mb4로 수정하는데, 이번 변경은 상대적으로 규모가 커서 온라인에 출시된 제품에 큰 영향을 미칩니다.
2. 필터링하거나 UBB로 대체합니다. 이는 제가 프로젝트에서 사용하는 방법입니다. https://github.com/newjueqi/converemojitostr
참조:
이모지 처리 방법은 다음과 같습니다. http://blog.csdn.net/ugg/article/details/ 44225723
PHP-이모지 변환표: http://code.iamcal.com/php/emoji/
위 내용은 PHP에서 모바일 이모티콘 표현을 처리하는 방법과 그 측면을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.