개발자 Q&A

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

2025.06.18 23:03

DOMDocument::saveXML 사용시 XML 태그의 인코딩 문제

목록
  • 애자일광신도 오래 전 2025.06.18 23:03
  • 76
    1
저는 PHP에서 DOMDocument::saveXML() 함수를 사용하여 XML 파일을 생성할 때 인코딩 문제를 겪고 있습니다.

DOMDocument::saveXML() 함수가 XML 파일에 특정 문자를 제대로 인코딩하지 못하는 것 같습니다.

예를 들어, 한글 문자를 사용하는 태그의 이름이나 값이 XML 파일에 저장되지 않습니다.

이러한 문제를 해결하기 위해 어떤 방법이 있을까요?

작성한 XML 파일의 예를 아래와 같이 설명해 주세요.

php

$doc = new DOMDocument();

$root = $doc->createElement("root");

$root->nodeValue = "한글 문자";

$doc->appendChild($root);

$doc->saveXML("example.xml");



위의 예에서 "한글 문자"라는 한글 문자가 XML 파일에 저장되지 않습니다.

이 문제를 해결하기 위해 어떤 방법이 있을까요?

위의 예에서 한글 문자를 XML 파일에 제대로 저장할 수 있도록 수정된 코드를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    DOMDocument::saveXML() 함수는 XML 파일에 문자를 인코딩할 때 UTF-8 인코딩을 사용합니다. 하지만, PHP가 UTF-8 인코딩을 지원하는 환경에서만 제대로 작동합니다.

    PHP가 UTF-8 인코딩을 지원하지 않는 환경에서 DOMDocument::saveXML() 함수를 사용하면 한글 문자가 제대로 인코딩되지 않을 수 있습니다.

    이러한 문제를 해결하기 위해 다음 방법을 사용할 수 있습니다.

    1. PHP의 인코딩을 UTF-8로 설정합니다. PHP의 인코딩을 UTF-8로 설정하면 DOMDocument::saveXML() 함수가 제대로 작동합니다.

    #hostingforum.kr
    php
    
    ini_set('default_charset', 'UTF-8');
    
    


    2. DOMDocument 객체의 인코딩을 UTF-8로 설정합니다.

    #hostingforum.kr
    php
    
    $doc->encoding = 'UTF-8';
    
    


    3. XML 파일에 한글 문자를 직접 인코딩합니다. 한글 문자를 인코딩할 때 UTF-8 인코딩을 사용합니다.

    #hostingforum.kr
    php
    
    $root->nodeValue = iconv('UTF-8', 'UTF-8//IGNORE', '한글 문자');
    
    


    위의 예에서 한글 문자를 XML 파일에 제대로 저장할 수 있도록 수정된 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    ini_set('default_charset', 'UTF-8');
    
    
    
    $doc = new DOMDocument();
    
    $doc->encoding = 'UTF-8';
    
    
    
    $root = $doc->createElement("root");
    
    $root->nodeValue = iconv('UTF-8', 'UTF-8//IGNORE', '한글 문자');
    
    $doc->appendChild($root);
    
    
    
    $doc->saveXML("example.xml");
    
    


    이 코드는 한글 문자를 XML 파일에 제대로 저장합니다.

    2025-06-18 23:04

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

검색

게시물 검색