You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Dominik Stadler (JIRA)" <xe...@xml.apache.org> on 2006/02/21 14:41:27 UTC
[jira] Commented: (XERCESC-1305) Problem with
XMLString::transcode() on Solaris
[ http://issues.apache.org/jira/browse/XERCESC-1305?page=comments#action_12367189 ]
Dominik Stadler commented on XERCESC-1305:
------------------------------------------
What we finally did to work around this problem for us is to add a separate IconvLCP88591Transcoder and IconvLCP885915Transcoder in xercesc/util/Transcoders/Iconv and detect a local encoding of 8859-1 or 8859-15 and use these Transcoders in this case.
I'll attach the new files based on Xerces 2.6, if anybody is interested.
BTW the attached files also fix http://issues.apache.org/jira/browse/XERCESC-1167 by adding support for ISO-8859-15
> Problem with XMLString::transcode() on Solaris
> ----------------------------------------------
>
> Key: XERCESC-1305
> URL: http://issues.apache.org/jira/browse/XERCESC-1305
> Project: Xerces-C++
> Type: Bug
> Components: Utilities
> Versions: 2.6.0, 2.4.0
> Environment: Solaris 8, Forte 8 Solaris C++ Compiler
> Reporter: Dominik Stadler
> Attachments: XercesTestcase.h, xerces-1305.zip
>
> We have a problem on Sun Solaris where it seems that XMLString::transcode() does not correctly convert characters from the ISO-8859-1 character-set to the Unicode/XMLCh-representation.
> We have ISO-8859-1 set as local codepage through setting the environment variable LC_ALL.
> When we call XMLString::transcode() for characters above hex-code 127, we get invalid unicode characters back.
> The same application works fine on Linux.
> This is a small testcase that shows the problem:
> The output on Solaris is:
> ------------------- start of Solaris output -------------------------
> Converted the character, result:
> 00 23 00 54 00 45 00 53 00 54 00 23
> ------------------- end of Solaris output -------------------------
> This is wrong, as the unicode representation of the pound-sign(£) is 0x00A3, not 0x0023!
> On Linux the output is correct:
> ------------------- start of Linux output -------------------------
> Converted the character, result:
> 00 A3 00 54 00 45 00 53 00 54 00 A3
> ------------------- end of Linux output -------------------------
> I will attach a testcase that shows the problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org