물어보기XpressEngine
조회 수 145 댓글 8
Extra Form

파싱모듈글자깨짐현상.jpg

@람보 님의 파싱모듈인데요. 일부에서 이렇게 글씨 깨짐 현상이 나타나더라구요. 영어문자는 정상이고 한글만 깨집니다.

이런 케이스는 보내주는 쪽 서버의 문제인가요?

환경은 라이믹스 최신 버전+php7.0입니다.

 

parserlink.view.php 파일에서 인코딩으로 검색해 보니까 이 줄이 해당되는 것 같습니다.

 

        if (mb_detect_encoding($string, "UTF-8") != "UTF-8")
        {
            $string = utf8_encode($string);
        }

 

어떻게 수정을 해주면 될까요?

 

참고로 똑같은 기사를 네이버 블로그에 넣었을때는 정상으로 나옵니다.

네이버에서 파싱.jpg

  • profile
    RayHur 2017.12.14 06:48:52
    서버쪽 PHP가 UTF-8 맞나요?
  • profile
    영흥도우럭 2017.12.14 07:19:37
    언론사쪽 말씀하시는거죠? 그건 잘 모르겠습니다. 기사 링크를 제 사이트에서 불러올때 인포맥스쪽은 저렇게 깨져 나오더라구요. 그런데 네이버블로그에 넣어보면 정상으로 나오더라구요
  • profile
    사과맛스타 2017.12.14 08:28:14
    현재 운영하시는 사이트 말씀하시는 것 같습니다.
  • profile
    영흥도우럭 2017.12.14 18:20:35
    네 제 호스팅서버는 UTF-8입니다.
  • profile
    YJSoft 2017.12.14 08:46:26
    utf8_encode 함수는 유럽 등에서 쓰이는 ISO-8859-1 인코딩을 UTF-8로 변환하는 함수인데 거기에 EUC-KR 문자열이 들어가니 당연히 문제가 될 수밖에 없죠.
    1
  • profile
    영흥도우럭 2017.12.14 16:15:59
    네이버를 검색해 보니..
    "서버환경이 달라.. 언어셋이 다른 경우.. iconv로 맞춰주면 됩니다.." 라는 글이 있네요.
    그런데 어떻게 수정해야할지 ㅎㅎㅎ
  • profile
    RayHur 2017.12.14 19:38:52
    파싱한 링크를 가서 보니 코드가 EUC-KR로 되어 있네요. 그래서 깨지는거 같습니당. 저도 전에 중국사이트 링크를 했는데 GB2312코드여서 제 사이트에선 깨지더라구요
  • profile
    영흥도우럭 2017.12.14 19:53:10
    인터넷가 이곳 타운을 검색하니까 몇가지 유용한 내용이 있는듯한데요.
    https://xetown.com/rxe_dev/2065 이 글을 보고 라이믹스 소스를 보니 Context::convertEncodingStr($str) 이것과 관련된 정의가 소스에 있더라구요. 이렇게 쓰니까 제법 뭘 아는 사람 같네요 ㅋㅋ 아무튼 다른 문자셋이 있더라도 바꿀수 있는 기반은 된거 같은데 위에 yjsoft님이 쓰신걸 보면 람보님의 코딩을 조금 바꾸면 될 것같기도 합니다. 근데 코딩에 대해서 뭘 알아야 고치는데 ㅋ 암튼 그렇네요.

서버에 요청 중입니다. 잠시만 기다려 주십시오...