Extra Form
PHP PHP 7.2
CMS Rhymix 2.x

알림센터로 글 제목을 알림으로 db에 저장을 할때 이모티콘이 ???? 로 저장이 되는 문제가 있어서

트리거를 통해 알림센터가 직접 받은 글제목의 경우는 이모티콘이 정상적으로 db에 들어가는 것을 보고 도큐먼트인서트 함수를 보니 

 

utf8_mbencode() 가 사용되는 점이 눈에 띄었습니다.

 

이부분이 이모티콘을 db에 저장할 수 있도록 조치를 해주는 함수인가요?

 

애드온에서 글제목을 get으로 직접 가져왔다면 이함수를 사용해주면 될까요?

  • profile

    https://github.com/rhymix/rhymix/blob/10ab65e2f4181a28a40f6035469a40b0008b10ca/common/functions.php#L628

    함수를 찾아보니 이뫼티콘을 처리해주는게 맞는거 같긴 하네요.

     

    아.. 저희 오래된 사이트 db가 utf8mb4 가 아니라 저 함수에 의존을 해야 하는거군요.

    라이믹스 내부에서 돌아가는건 저 함수를 거치게 했었던고(XE 시절 애드온을 썼지만 라이믹스는 필요없....)

     

    제가 직접 가져온 이모티콘을 저 함수를 거치지 않고 db에 넣으려니 당연히 ??? 로 들어가는거였네요. 모든 테이블 구조를 다 바꾸지 않는 이상 그런거 같네요.

  • profile
    예전 XE때 DB방식에서 유니코드(?) 이모티콘이 출력되는 디비방식을 정하지 않은 버전들에 한해서 해당 테이블들을 바꿀수 없으니 해당 함수를 적용하여 기존 테이블의 구조를 가지고 있는 사이트에도 이모티콘을 출력할 수 있도록 만들어져 있습니다.
  • profile profile
    네. 함수 보니 그렇기도 하고 저희 db 구조 열어보고 생각이 났습니다.
    이거 하나씩 뭔가 만들면서 배우는 재미도 있네요 ㅎ