Edit report at https://bugs.php.net/bug.php?id=31994&edit=1

 ID:                 31994
 Comment by:         michal dot vrchota at gmail dot com
 Reported by:        misnet at hotmail dot com
 Summary:            output conversion failed due to conv error
 Status:             No Feedback
 Type:               Bug
 Package:            XSLT related
 Operating System:   windows 2003 server
 PHP Version:        5CVS-2005-02-25
 Block user comment: N
 Private report:     N

 New Comment:

Check if You are not using binary unsafe functions. I was calling substr() 
instead 
of mb_substr() which broke the utf8 encoding.


Previous Comments:
------------------------------------------------------------------------
[2007-05-20 17:02:14] bonsite at hotmail dot com

This is not a PHP error. You must use utf8_encode() when you use characters 
like é, ë, ...

------------------------------------------------------------------------
[2007-04-26 21:40:36] scott at realorganized dot com

Here's some example code that shows the problem:

<?
  header("Content-Type: text/html; charset=iso-8859-1");
  error_reporting(E_ALL);
  $domfather = new domDocument('1.0', 'iso-8859-1');
  $node = $domfather->createElement("xxx", chr(200));
  $domfather->appendChild($node);
  echo "<pre>";
  echo htmlspecialchars($domfather->saveXML());
  $nodelist =  $domfather->getElementsByTagName("xxx");
  $data = $nodelist->item(0)->nodeValue;
  echo $data;
  echo strlen($data);
?>

Character code 200 is an e grave and is a valid iso-8859-1 
character.  The output from my server is below.  When I retrieve 
the node's data back, it is as expected.  But it's the saveXML() 
code that seems to have a problem. I suspect the problem is with 
the utf-8 -> iso-8859 conversion before output.


Warning:  DOMDocument::saveXML() [function.DOMDocument-saveXML]: 
output conversion failed due to conv error in /Library/Tenon/
WebServer/WebSites/realtyjuggler.com/subscription/test.php on line 
23


Warning:  DOMDocument::saveXML() [function.DOMDocument-saveXML]: 
Bytes: 0xC8 0x3C 0x2F 0x78 in /Library/Tenon/WebServer/WebSites/
realtyjuggler.com/subscription/test.php on line 23

<?xml version="1.0" encoding="iso-8859-1"?>
<xxx>È1

------------------------------------------------------------------------
[2005-04-17 01:00:06] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------
[2005-04-09 17:34:52] der...@php.net

You're probably using a character which can not be represented in iso-8859-1... 
but I don't know for sure as I don't have the data. Come up with a 
*self-contained* script that does not rely on a database...

------------------------------------------------------------------------
[2005-04-09 08:27:21] cbdbs at yahoo dot com

$doc = new DOMDocument('1.0','ISO-8859-1');
// we want a nice output
$doc->formatOutput = true;


$familias = $doc->appendChild(new DOMElement('familias'));

 while ($fam_datos = mysql_fetch_array($data)){

                $familia = $familias->appendChild(new DOMElement('familia'));
                $familia->appendChild(new DOMElement('Apellidos', 
$fam_datos['Familia']));
                $familia->appendChild(new DOMElement('Representante', 
$fam_datos['Apellidos']));
                $familia->appendChild(new DOMElement('Nombre', 
$fam_datos['Nombres']));
                $familia->appendChild(new DOMElement('Edad', 
$fam_datos['Edad']));
                $familia->appendChild(new DOMElement('Salud', 'Sano'));

 }

header('Content-Type: text/xml');
$documento = $doc->saveXML();
echo $documento;

OUTPUT
<b>Warning</b>:  output conversion failed due to conv error in 
<b>c:\home\prueba\www\grid\xml.php</b>...

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=31994


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=31994&edit=1

Reply via email to