Timur Izhbulatov wrote:
Timur Izhbulatov wrote:
Hi all! I use woody binding framework as shown in the corresponding sample (cocoon 2.1.4) with an XML file and it works just fine. But when I change the file URL to xmldb one my non-us (UTF-8 encoded) data are getting corrupted. When I popultate the DB with the same data (as in xmldb sample) it also works correctly. My sitemap entry looks as follow:
...
<map:match pattern="edit">
<map:call function="woody">
<map:parameter name="function" value="form2xml"/>
<map:parameter name="form-definition" value="forms/form_model.xml"/>
<map:parameter name="documentURI"
value="data/1.xml"/>
<!-- <map:parameter name="documentURI"
value="xmldb:xindice-embed:///db/data/1"/> -->
<map:parameter name="bindingURI" value="forms/form_bind.xml"/>
</map:call>
</map:match>
... The form2xml function was totally borrowed from binding_example.js. Should I rewrite my flow script or somehow configure the database operation?
I changed the org.apache.cocoon.components.source.impl.XMLDBSource.XMLDBOutputStream.close () method:
public void close() throws IOException, SourceException {
if (!isClosed) {
writeOutputStream(baos.toString("UTF-8"));
baos.close();
this.isClosed = true;
}
}
It used to use baos.toString() but this method uses system's default encoding (windows-1251 in my case) to translate bytes into characters (http://java.sun.com/j2se/1.4.2/docs/api/java/io/ByteArrayOutputStream.html) .
Please submit this to Bugzilla. It seems to me like something that should be within the XMLDBSource. But the encoding needs to be configurable somehow. If you can, feel free to supply a patch that makes it configurable.
Thanks, Upayavira
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
