Personal tools
You are here: Home 2011 July 19 Problems with charset in 8.5.1 environment

Jul 19, 2011

Problems with charset in 8.5.1 environment

Strange behaviour managing XML file in Java agent

In this scenario, i've experienced some problems with UTF-8 charset in strings. In 6.5 environment everithing works fine.

This is my code in a Java agent:

org.w3c.dom.Document docXML = attachSegnatura.parseXML(false);
XSLTResultTarget out = new XSLTResultTarget();
out.setFileName(path + "SegnaturaRT.xml");
attachSegnatura.transformXML(xsl, out);
DOMParser parser = new DOMParser();
parser.parse(path + "SegnaturaRT.xml");
org.w3c.dom.Document docRT = ((DOMParser)parser).getDocument();

 

xsl is an EmbeddedObject that contains xsl file.
 
In this case, if XML contains characters like "§", these are wrongly rendered.
My solution was:
 
tFactory = TransformerFactory.newInstance();
StreamSource xslSS = new StreamSource(pathFile+"Segnatura.xsl");
StreamSource xslRT= new StreamSource(pathFile + "Segnatura.xml");
FileOutputStream fos = new FileOutputStream(pathFile + "SegnaturaRT.xml");
transformer = tFactory.newTransformer(xslSS);
transformer.transform(xslRT, new StreamResult(fos));
transformer.reset();
fos.close();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
docRT = dBuilder.parse(new File(pathFile + "SegnaturaRT.xml"));

 

Anybody experienced something like this?

 
Filed under: , ,
comments powered by Disqus