From: Wolfgang M. <sb...@we...> - 2004-09-15 14:59:15
|
Hi, > I don't know the answer to this, but some trial and error revealed > this: > - The problem of mixing up special characters does not only occur with > distinct values. It occurs wherever the result contains atomic > strings. E.g. the following query also exhibits it (assume that > "sometag" exists and contains umlauts): > > fn:data(//sometag) > > - The data is still all right when it is returned vom RpcConnection. > However, it reemerges mixed up on the client side. I suspect that > something is going wrong with the encoding in the XML RPC libraries. > There is a line > > return responseProcessor.processResponse > (response, requestProcessor.getEncoding()); > > in XmlRpcWorker#execute. In my tests the query worked (Mandrake Linux 10, using UTF-8 as default=20 encoding). Using the document: <test><para>=E4=E4=F6=F6=FC=FC=C4=C4=D6=D6=DC=DC=DF=DF</para></test> I receive the correct answer from the query: distinct-values(//para) I don't know if this helps, but I found that RpcServlet does not explicitel= y=20 set the xmlrpc encoding. You may try to insert XmlRpc.setEncoding("UTF-8") at the end of the init() method in src/org/exist/xmlrpc/RpcServlet.java (li= ne=20 67). I wrote a junit test case to test all query methods provided by the xmlrpc= =20 interface: src/org/exist/xmlrpc/test/XmlRpcTest.java. Wolfgang |