이모티콘 입력 mysql 데이터 오류 해결 방안

1112 단어 mysql->기본
문제 설명
리뷰 시스템에서 사용자가 이모지 이모티콘을 입력할 때 사용자 리뷰를 저장할 때 백그라운드 데이터베이스가 저장됩니다.오류 설명은 다음과 같습니다.
       Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT'
 
둘째, 문제의 원인
일반적인 문자열이나 이모티콘은 모두 3바이트를 차지하기 때문에 utf8은 충분하지만 이동단의 이모티콘이 4바이트를 차지하기 때문에 일반적인 utf8은 충분하지 않다. 무선 인터넷의 기회와 도전에 대응하고 emoji 이모티콘이 가져오는 문제를 피하기 위해 무선 관련 MySQL 데이터베이스에 미리 utf8mb4 문자 집합을 사용하는 것을 권장한다.이것은 반드시 이동 인터넷 업계의 기술 선택의 요점으로 삼아야 한다.Incorrect string value의 경우'\xF0\x9F\x98\x97\xF0\x9F...'문제는 대부분 문자 집합 때문에 발생한 것이다. 이전에latain에서gbk,gbk에서utf8로,CONTENT 필드는utf8이고,utf8보다 많은것은utf8mb4뿐이기 때문에 표 필드,표,데이터베이스 문자 집합을utf8mb4로 수정하면 된다.
ps: 필요 > = MySQL 5.5.3 버전, 라이브러리에서 5.5이어야 합니다. 낮은 버전에서는 이 문자 집합을 지원하지 않으며 복사 오류가 발생합니다.
 
셋째, 솔루션
#  mysql    
vim my.cnf
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4

#  mysql   
service mysql restart

참조 문서:
    http://bbs.csdn.net/topics/390055415
    http://blog.itpub.net/26230597/viewspace-1243233/

좋은 웹페이지 즐겨찾기