Subject:Non-printable special characters in Xsl Author:Robert Enchelmaier Date:15 May 2008 04:42 AM
I am producing XSL-FO which generates non-printable special characters for blank lines and whereever i have placed 2 spaces together. In the file viewer, these characters appear as spaces, but appear as A (with a circumflex) if i look at the xsl in wordpad. Everything appears ok in PDF when rendering the xsl to PDF using Render XEP in Studio.
I am storing this xsl in a SQL Server database and in the process of storing and retrieving the xsl, these non-printable characters are being replaced by '??'.
I have tried storing the data as text and binary and doing a UTF-8 decoding which results in a single '?' instead of the '??' if I use ASCII decoding.
Short of converting these special characters to my own escape characters, what are these characters, how many are there, and how do i deal with them when storing them in other than files?
Subject:Non-printable special characters in Xsl Author:(Deleted User) Date:15 May 2008 05:19 AM
the special A character with the circumflex is the character used by the UTF-8 encoding to signal that a codepoint cannot be represented by a single byte, so it means that Wordpad doesn't understand UTF-8 (or doesn't recognize it). If you cannot force SQL Server to preserve the UTF-8 encoding, you can try replacing the hardcoded symbol with its entity representation,
Subject:Non-printable special characters in Xsl Author:Robert Enchelmaier Date:15 May 2008 08:10 AM
Sql Server does not support UTF-8 encoding. So I took your advice and converted all non-breaking spaces to ' ' and saved the xsl as binary. I could have saved it as ASCII given there were no more unicode characters.
This is not a general solution because if it turns out there are other unicode characters in another xsl or xml file, then the same problem will appear.