Edit report at http://bugs.php.net/bug.php?id=48983&edit=1
ID: 48983 Updated by: [email protected] Reported by: php at bouchery dot fr -Summary: DomDocument : saveHTMLFile wrong charset and crash +Summary: DomDocument : saveHTMLFile wrong charset -Status: Open +Status: Closed Type: Bug Package: DOM XML related Operating System: Windows XP PHP Version: 5.3.0 -Assigned To: +Assigned To: rrichards New Comment: This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. crash was from older libxml2 version Previous Comments: ------------------------------------------------------------------------ [2010-04-02 22:08:20] [email protected] Automatic comment from SVN on behalf of rrichards Revision: http://svn.php.net/viewvc/?view=revision&revision=297374 Log: fix bug #48983 (DomDocument : saveHTMLFile wrong charset) ------------------------------------------------------------------------ [2009-07-20 16:03:31] php at bouchery dot fr Entry point php+2fa2 Create time 20/07/2009 18:00:24 Time spent in user mode 0 Days 0:0:0.31 Time spent in kernel mode 0 Days 0:0:0.78 Function Arg 1 Arg 2 Arg 3 Source php5ts!DllMain+c2 00000000 00000000 00000000 PHP5TS!DLLMAIN+C2WARNING - DebugDiag was not able to locate debug symbols for php5ts.dll, so the information below may be incomplete. In php__PID__1304__Date__07_20_2009__Time_06_00_34PM__618__Second_Chance_ Exception_C0000005.dmp the assembly instruction at php5ts!DllMain+c2 in C:\bin\php-5.3.0\php5ts.dll from The PHP Group has caused an access violation exception (0xC0000005) when trying to read from memory location 0x64756f70 on thread 0 Module Information Image Name: C:\bin\php-5.3.0\php5ts.dll Symbol Type: Export Base address: 0x10000000 Time Stamp: Mon Jun 29 22:53:15 2009 Checksum: 0x00579fbc Comments: COM DLL: False Company Name: The PHP Group ISAPIExtension: False File Description: PHP Script Interpreter ISAPIFilter: False File Version: 5.3.0 Managed DLL: False Internal Name: PHP Script Interpreter VB DLL: False Legal Copyright: Copyright © 1997-2009 The PHP Group Loaded Image Name: php5ts.dll Legal Trademarks: PHP Mapped Image Name: Original filename: php5ts.dll Module name: php5ts Private Build: Single Threaded: False Product Name: PHP Module Size: 5,61 MBytes Product Version: 5.3.0 Symbol File Name: php5ts.dll Special Build: &) ------------------------------------------------------------------------ [2009-07-20 14:53:16] [email protected] Thank you for this bug report. To properly diagnose the problem, we need a backtrace to see what is happening behind the scenes. To find out how to generate a backtrace, please read http://bugs.php.net/bugs-generating-backtrace.php for *NIX and http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32 Once you have generated a backtrace, please submit it to this bug report and change the status back to "Open". Thank you for helping us make PHP better. ------------------------------------------------------------------------ [2009-07-20 09:44:27] php at bouchery dot fr 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> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=48983&edit=1
