|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2009-07-20 14:53 UTC] jani@php.net
[2009-07-20 16:03 UTC] php at bouchery dot fr
[2010-04-02 22:08 UTC] rrichards@php.net
[2010-04-02 22:09 UTC] rrichards@php.net
-Summary: DomDocument : saveHTMLFile wrong charset and
crash
+Summary: DomDocument : saveHTMLFile wrong charset
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: rrichards
[2010-04-02 22:09 UTC] rrichards@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 20:00:01 2025 UTC |
Description: ------------ When using DomDocument to generate HTML. If I'm trying to add the content-type, and generate a file with "saveHTMLfile", PHP crash and charset is not correctly defined (Always UTF-8). With "saveHTML", it works fine. Reproduce code: --------------- <?php $doc = new DOMDocument('1.0','iso-8859-1'); $doc->formatOutput = true; $root = $doc->createElement('html'); $root = $doc->appendChild($root); $head = $doc->createElement('head'); $head = $root->appendChild($head); $title = $doc->createElement('title'); $title = $head->appendChild($title); $text = $doc->createTextNode('This is the title'); $text = $title->appendChild($text); $meta = $doc->createElement('meta'); $meta = $head->appendChild($meta); $meta->setAttribute('http-equiv', 'Content-Type'); $meta->setAttribute('content', 'text/html; charset=ISO-8859-1'); echo $doc->saveHTML(); $doc->saveHTMLFile('result.html'); ?> Expected result: ---------------- No crash, output is : ---- <html><head> <title>This is the title</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head></html> ---- And "result.html" must contains : ---- <html><head> <title>This is the title</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head></html> ---- Actual result: -------------- PHP process crash Output : ---- <html><head> <title>This is the title</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head></html> ---- "result.html" <html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>This is the title</title> </head></html>