I don't see anything wrong in what you did. Sorry but I cannot explain
why you get characters such as "È" in the generated RTF.
I can just tell you that we routinely convert to RTF XML documents
containing accented characters and that we have no problem at all.
On 07/20/2010 01:15 AM, Kavitha Saravanan wrote:
>
> Thank you for your prompt reply. I really appreciate that.
> Yes, You are correct I am using XSLT stylesheet to convert the XML
> source to XSL-FO.
>
> The code is as follows:
>
> InputStream xsltfile = null;
> ClassLoader cl = this.getClass().getClassLoader();
> xsltfile = cl.getResourceAsStream(reportName + ".xsl");
> out = new ByteArrayOutputStream();
> TransformerFactory factory = TransformerFactory.newInstance();
> Transformer transformer = factory.newTransformer(new StreamSource(
> xsltfile));
> byte[] xmlByteArray = xmlString.getBytes();
> ByteArrayInputStream xmlStream = new ByteArrayInputStream(xmlByteArray);
> Source src = new SAXSource(new InputSource(xmlStream));
> Result res = new StreamResult(out);
>
> // Start XSLT transformation and FOP processing
> transformer.transform(src, res);
>
> byte[] content = out.toByteArray();
> rptDto.setContent(this.fo2rtf(content));
>
> ------------------------------
>
> Then my fo2rtf code is as follows:
>
> Converter converter = new Converter();
> converter.setProperty("outputFormat", "rtf");
> converter.setProperty("outputEncoding", "Cp1252");
> converter.setProperty("imageResolution", "120");
> InputSource src = new InputSource(new ByteArrayInputStream(fo));
> //fo is a byte array
> OutputDestination dst = new OutputDestination(output);
> converter.convert(src,dst);
>
> My xsl file has the following encoding:
>
>
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:fo="http://www.w3.org/1999/XSL/Format"
> xmlns:rx="http://www.renderx.com/XSL/Extensions" version="1.0">
>
> <xsl:output method="xml" version="1.0" encoding="utf-8"/>
> <!-- **************************************************** -->
> <!-- Topmost template -->
> <xsl:template match="reportname">
> <fo:root>
> <fo:layout-master-set>
> <!-- First page: used for the title -->
> etc....
>
> My oracle database also has utf-8 format. I am not sure where I am
> making mistakes.
>
>
> On Fri, Jul 16, 2010 at 2:26 AM, Hussein Shafie <[email protected]
> <mailto:[email protected]>> wrote:
>
> Kavitha Saravanan wrote:
> > I have some issues when we have to display some latin
> > characters in rtf document. i am getting weird characters in the rtf
> > document. For an example i am getting È character
>
> This looks like UTF-8.
>
>
>
> > when try to print
> > this È latin character. My xslt file has "ISO-8859-1" type
> encoding, and
> > my converter's output encoding is also "ISO-8859-1". Could you please
> > help me to resolve this issue?
>
> Unlike the other translators, the RTF translator does not support
> "ISO-8859-1". Please specify "Cp1252" (which is nearly the same as
> "ISO-8859-1"). See
>
> http://www.xmlmind.com/foconverter/_distrib/doc/user/command_line_java.html
>
> Now, if the above fix does not work, it's difficult to help you because
> we *cannot* *reproduce* the problem you describe. Please send us
> everything needed to reproduce the above problem. See
> http://www.xmlmind.com/foconverter/support.html#xfc_support_policy
>
>
>
> ---
> PS: May be your XSLT stylesheet is used to convert an XML source
> document to XSL-FO (which is then translated to RTF). In such case:
>
> [1] Make sure that the XML source document encoding is correct. I mean
> an XML file may pretend to be encoded in "ISO-8859-1" (<?xml
> version="1.0" encoding="ISO-8859-1"?>), while in fact it contains
> "UTF-8".
>
> [2] For the same reason, make sure that the encoding of the generated
> XSL-FO file is correct too.
--
XMLmind FO Converter Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xfc-support