Q&A

특수문자 깨짐현상... 조언을 구합니다.

2020.02.01 15:52
1,505
0
CMS/프레임워크 Rhymix 1.9
개발 언어 PHP 7.0

라이믹스 사용중이고, php7.0입니다.

 

아래 사진처럼 글 수정모드의 제목부분 특수문자가 깨져서 보여집니다. 본문의 특수문자는 깨지지 않구요.

 

모바일에서 작성된 글은 특수문자가 깨지지 않는걸보면 PC의 게시판 스킨이 문제겠다 싶어 스케치북 스킨을 원본으로 덮어씌워도 봤는데, 증상은 여전하네요...

 

혹시 해결방법 아시는 분 계신가요? 조언 좀 부탁드립니다.

 

1.png

댓글 6

  • 2020.02.01 19:13 #1332509

    /common/functions.php 에서 function utf8_mbencode($str) 부분을 아래와 같이 변경하세요.


    function utf8_mbencode($str)
    {
    if (strlen($str) >= 3 && substr($str, 0, 3) === "\xEF\xBB\xBF")
    {
    $str = substr($str, 3);
    }
    if (!utf8_check($str))
    {
    $str = @iconv('UTF-8', 'UTF-8//IGNORE', $str);
    }
    return $str;
    }

     

    기존 라이믹스 코드는 이모지를 html 유니코드로 치환해주는데, 위의 소스로 변경하게 되면 이모지를 그대로 출력하게 됩니다.

    DB 테이블 형식이 utf8mb4 아니면 이모지 짤리게 되니 charset 확인 후에 적용해주세요.

  • 2020.02.02 00:17 #1332560
    흠.. 말씀해주신대로 수정해도 여전히 깨져서 나오네요 ㅠ DB테이블 형식이 utf8mb4 가 아닌가봅니다. 답변 감사드립니다.
  • 2020.02.02 07:45 #1332660

    질문과 관계없는 무의미한 코어수정 비추입니다.

  • 2020.02.02 07:46 #1332665

    스케치북 스킨의 write_form.html에서 htmlspecialchars 함수 중복 사용이 문제입니다. 글쓰기 제목 htmlspecialchars 검색해 보세요.

  • 2020.02.02 07:57 #1332675
    한번 해보겠습니다~ 곰님 감사합니다!^^
  • 2021.09.22 03:19 #1615739
    slow 스킨에서도 같은 현상이 있었는데, 해당 함수를 삭제했더니 정상으로 출력되는군요.
    감사합니다. ^^~~