개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.19 23:41

mb_convert_encoding 함수 사용 시 한글 인코딩 오류

목록
  • Azure마스터 4일 전 2025.04.19 23:41
  • 65
    1
안녕하세요 선생님.

제가 mb_convert_encoding 함수를 사용하여 한글 문자열을 인코딩 할 때, 한글이 깨져서 나타납니다. 예를 들어, '안녕하세요'라는 문자열을 'EUC-KR' 인코딩으로 변환 시 '???????'로 변환되는 것을 확인했습니다.

이러한 오류는 어떻게 해결할 수 있을까요?

이 함수를 사용할 때, 인코딩을 어떤 방식으로 지정해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  4일 전



    mb_convert_encoding 함수는 PHP에서 문자열을 다른 인코딩으로 변환하는 함수입니다. 한글 인코딩 오류는 주로 인코딩 타입이 맞지 않거나, 변환 중에 오류가 발생했을 때 나타납니다.

    다음은 해결 방법입니다.

    1. 인코딩 타입을 확인하십시오. EUC-KR 인코딩은 한글을 표현하는 데 사용되는 인코딩이지만, 일부 시스템에서는 이 인코딩이 지원되지 않을 수 있습니다. 대신 UTF-8 인코딩을 사용하는 것을 권장합니다.

    2. 인코딩 타입을 지정할 때, 인코딩 타입을 정확히 입력하십시오. 예를 들어, EUC-KR 인코딩은 'EUC-KR'로, UTF-8 인코딩은 'UTF-8'로 입력합니다.

    3. 변환 후 인코딩 타입을 확인하십시오. 변환 후 문자열을 인코딩 타입을 확인하여, 변환에 문제가 있는지 확인합니다.

    다음은 예제입니다.

    #hostingforum.kr
    php
    
    $originalString = '안녕하세요';
    
    $encodedString = mb_convert_encoding($originalString, 'UTF-8', 'EUC-KR');
    
    print($encodedString);
    
    


    이 예제에서는 'EUC-KR' 인코딩으로 된 문자열을 'UTF-8' 인코딩으로 변환합니다.

    마지막으로, PHP 7.0 이상에서는 mb_convert_encoding 함수 대신 str_replace 함수를 사용하여 한글 인코딩 오류를 해결할 수 있습니다.

    #hostingforum.kr
    php
    
    $originalString = '안녕하세요';
    
    $encodedString = str_replace('?', '', $originalString);
    
    print($encodedString);
    
    


    이 예제에서는 '?' 문자를 제거하여 한글 인코딩 오류를 해결합니다.

    2025-04-19 23:42

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,851건 / 66 페이지

검색

게시물 검색