질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS Rhymix 2.x

새글 알림을 텔레그램 봇에게 메시지를 전달해서 메시지를 발생시키는데 이모지가 문제가 되고 있습니다.

저희 사이트의 경우 이모지 사용이 흔하게 사용되는데 텔레그램에서는 이모지를 처리할 수 없는지 이모지 이후부터 메시지가 잘려서 출력이 됩니다.

 

저희가 전달한 부분에서 이모지부터 잘리는 문제..

 

오래전에 db가 utf8mb4 를 지원하지 않을때 게시글이 이모지 이후 잘려서 저장되는 것과 비슷한 증상입니다.

 

해결하는 방법이 있을까요?

 

이모지를 제거하는 함수를 사용하는 것은 추가되는 이모지가 있을 경우 문제가 계속 될 것 같기도 하구요.

  • profile
    텔레그램은 직접 입력해서 보낼때도 이모지처리를 못하나요? 널리 쓰이는 메신저인데 이모지처리를 못할 것 같지 않아서요. 혹시 보내는 과정에서 문제가 생기는 건 아닐까요?
  • profile profile
    텔레그램 사용자들이 주고 받는 메시지에서 이모지가 안된다는건 말이 안되겠죠.
    api 로 전송받는 문자형식 중 이모지가 문자가 처리가 안되는 것 같습니다.
  • profile
    한글,영문,특수문자 정도만 남길수 있는 정규식이 필요할 것 같습니다.
  • ?

    테스트 해보니까 잘되는것같습니다.
     file_get_contents('https://api.telegram.org/bot<token>/sendMessage?text=test%F0%9F%A6%81&chat_id=<chat_id>')
    이런식으로 테스트했습니다.

     

    화면 캡처 2021-10-07 122650.png

  • ? profile

    네. 애드온에서 url 에 메시지를 포함시켜서 실행할때 뭔가 문제가 되는 듯 합니다.
    제목,댓글에서는 이상이 없는데 유독 지금 문서 내용부분을 전송하는 부분에서 발생하고 있네요.

     

    그리고 문제가 되는 하트 모양이 글 수정해서 소스보기로 보면

    &hearts;︎&hearts;︎

     

    이런식으로 나오네요. 다른 이모티콘은 소스보기에서도 이모티콘 모양으로 나오는데요...

     

    문제가 되었던 부분이 &hearts; 이건데 이게 이모지가 아닌것 같네요. 

  • profile
    특정 부분에 끼워져 있는 부분에서만 문제가 발생하는지 파악은 못했지만
    $content = html_entity_decode($content);

    위 코드로 한번 처리해주니 해결이 되었습니다.
  • profile profile
    해결 방법까지 늘 이렇게 댓글 달아두시니,...
    검색해서 힌트를 얻는 분들께 시원한 빗줄기일 것 같네요!
    늘 감사드립니다. ^^