Some abstracts in our repository contain what I assume are UTF-8 characters, like '𝜌'. They display correctly in the HTML interface, but cause an exception when retrieving the record via OAI-PMH:
java.io.IOException: com.lyncode.xoai.dataprovider.exceptions.WritingXmlException: Error trying to output '<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:doc="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
...
<dc:description>Ionic Liquids (ILs) are relatively newly formed types of solvents. As part of ongoing research, research groups and industries are focusing on solvents classified as ionic liquids, which have a low melting point,and they have been given great attention focusing on their thermophysical properties and applications. In order to utilize or industrially exploit these types of solvents, the understanding of intermolecular interactions and properties of pure liquids and their mixtures is important. Thermophysical properties of ionic liquid mixtures, especially density, viscosity and speed of sound are measured as a function of temperature. Accurate analysis on thermophysical properties of ionic liquids is more of paramount interest as they indicate the transformation of ionic liquids from small laboratory level to large-scale industrial implementation.In this study, new data for the binary mixtures containing {trihexyltetradecylphosphonium chloride ([P+14, 6, 6, 6] [Cl-]) IL and propanoic acid (PA)} and {1-ethyl-3-methylimidazolium tetrafluoroborate ([Emim][BF4]) + benzaldehyde or ethyl acetoacetate} were investigated under atmospheric pressure (p equivalent to 0.1 MPa) and at temperatures (293.15 to 313.15) K. Densities (��)
...
'
org.dspace.xoai.services.impl.cache.DSpaceXOAICacheService.store(DSpaceXOAICacheService.java:114)
org.dspace.xoai.controller.DSpaceOAIDataProvider.contextAction(DSpaceOAIDataProvider.java:104)
sun.reflect.GeneratedMethodAccessor633.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
In the error message, the document's abstract,'𝜌'. has been encoded as '��', but seems to be causing the exception.
If I remove the abstract and wait a day (presumably for re-indexing), I can access the record via OAI-PMH.
Is there a way to include these symbols that will not cause the exception?
I do have 'URIEncoding="UTF-8"' in my port 8080 connector definition in server.xml.
DSpace version: CRIS-5.10.0-SNAPSHOT
SCM revision: 8390fec2945050541427ef1249dbbbd56b1ccdc4
SCM branch: fix-sword
OS: Linux(amd64) version 4.4.0-198-generic
Applications:
Discovery: enabled.
JRE: Private Build version 1.8.0_282
Ant version: Apache Ant(TM) version 1.9.6 compiled on July 20 2018
Maven version: 3.3.9