
PHP의 DOMDocument::loadHTMLFile 함수는 HTML 파일을 읽어오기 위해 사용할 수 있습니다. 하지만 이 함수는 인코딩을 지정할 수 없다는 것을 알았습니다.
이 문제를 해결할 방법은 두 가지가 있습니다.
1. UTF-8 인코딩으로 저장하기: HTML 파일을 UTF-8 인코딩으로 저장하면, PHP에서 읽어올 때 인코딩을 지정할 필요가 없습니다. UTF-8 인코딩은 국제 표준 인코딩으로, 대부분의 브라우저와 PHP가 지원합니다.
2. 인코딩을 지정할 수 있는 함수 사용하기: PHP의 mb_convert_encoding 함수를 사용하여 인코딩을 지정할 수 있습니다. 예를 들어, ASCII 인코딩으로 저장된 HTML 파일을 UTF-8 인코딩으로 변환할 수 있습니다.
#hostingforum.kr
php
$html = new DOMDocument();
$html->loadHTMLFile('example.html');
$html->encoding = 'UTF-8';
또는,
#hostingforum.kr
php
$html = new DOMDocument();
$html->loadHTMLFile('example.html');
$html->encoding = 'ISO-8859-1'; // ASCII 인코딩
$html->encoding = 'UTF-8'; // UTF-8 인코딩으로 변환
하지만, 이 방법은 HTML 파일의 내용을 변경하는 것과 같습니다. 따라서, 이 방법을 사용할 때는 주의가 필요합니다.
3. 인코딩을 지정할 수 있는 함수 사용하기 (mb_convert_encoding)
#hostingforum.kr
php
$html = new DOMDocument();
$html->loadHTMLFile('example.html');
$html->encoding = 'ISO-8859-1'; // ASCII 인코딩
$html->encoding = mb_convert_encoding($html->textContent, 'UTF-8', 'ISO-8859-1');
이 방법은 HTML 파일의 내용을 변경하지 않고, 인코딩을 지정할 수 있습니다.
2025-08-10 22:48