use XML::LibXML::Common; $encodedstring = encodeToUTF8( $name_of_encoding, $sting_to_encode ); $decodedstring = decodeFromUTF8($name_of_encoding, $string_to_decode );
Since XML::LibXML use their own node type definitions, one may want to use XML::LibXML::Common in its compatibility mode:
use XML::LibXML::Common qw(:libxml);
":libxml" tag will use the XML::LibXML Compatibility mode, which defines the old 'XML_' node-type definitions.
use XML::LibXML::Common qw(:gdome);
":gdome" tag will use the XML::GDOME Compatibility mode, which defines the old 'GDOME_' node-type definitions.
use XML::LibXML::Common qw(:w3c);
This uses the nodetype definition names as specified for DOM.
use XML::LibXML::Common qw(:encoding);
This tag can be used to export only the charset encoding functions of XML::LibXML::Common.
This interface was useful for older versions of Perl. Since Perl >= 5.8 provides similar functions via the "Encode" module, it is probably a good idea to use those instead.
$encodedstring = encodeToUTF8( $name_of_encoding, $sting_to_encode );
The function will convert a byte string from the specified encoding to an UTF-8 encoded character string.
$decodedstring = decodeFromUTF8($name_of_encoding, $string_to_decode );
This function converts an UTF-8 encoded character string to a specified encoding. Note that the conversion can raise an error if the given string contains characters that cannot be represented in the target encoding.
Both these functions report their errors on the standard error. If an error occurs the function will croak(). To catch the error information it is required to call the encoding function from within an eval block in order to prevent the entire script from being stopped on encoding error.
The merge also naturally eliminates a practical and urgent problem experienced by many XML::LibXML users on certain platforms, namely mysterious misbehavior of XML::LibXML occurring if the installed (often pre-packaged) version of XML::LibXML::Common was compiled against an older version of libxml2 than XML::LibXML.
2002-2006, Christian Glahn.