Groovy读取unicode xml文件并添加到JCR中,而不是添加源文件中的全文

Groovy读取unicode xml文件并添加到JCR中,而不是添加源文件中的全文,unicode,groovy,utf-8,aem,Unicode,Groovy,Utf 8,Aem,在Groovy中,我使用以下代码片段解析包含Unicode文本的xml文件。但全文不会复制到JCR节点,只有部分字符被识别并复制到目标JCR节点/另一个文件系统,其余字符以无法识别的格式显示。 FileReader fr = new FileReader("$currentFileLocation") def inputSource = new InputSource(fr) inputSource.setEncoding('UTF-8') def obj = new X

在Groovy中,我使用以下代码片段解析包含Unicode文本的xml文件。但全文不会复制到JCR节点,只有部分字符被识别并复制到目标JCR节点/另一个文件系统,其余字符以无法识别的格式显示。 FileReader fr = new FileReader("$currentFileLocation") def inputSource = new InputSource(fr) inputSource.setEncoding('UTF-8') def obj = new XmlSlurper().parse(inputSource) def HtmlContent = obj."Widget-HTML"."HtmlContent".getBody().text() FileReader fr=新的FileReader($currentFileLocation) def inputSource=新的inputSource(fr) inputSource.setEncoding('UTF-8') def obj=new XmlSlurper().parse(inputSource) def HtmlContent=obj.“小部件HTML”.“HtmlContent”.getBody().text()

预期值应写入目标系统,如下所示: サービス事例のサポート ツールセットである

但它是按以下格式复制的:
サービス事例�?�サ�?ート ツールセット�?��?�る

您可以尝试编码,因为他们可以处理日文字符的细节


请参阅关于使用UTF-8、UTF-16和Shift_JS进行日语编码的讨论,假设以下任意xml文件包含本问题作者提到的字符

xml文件,比如testutf.xml。请注意,该文件是使用
utf-8
字符编码保存的

<?xml version="1.0" encoding="UTF-8"?>
<records>
    <record>
        <name>サービス事例のサポート ツールセットである</name>
    </record>
</records>
输出

Record name : サービス事例のサポート ツールセットである

我相信您应该能够对自己的xml应用相同的xml,而不是上面的示例xml。

您可以将xml添加到问题中吗?style type=“text/css”>;div.pChangeMainLink{background:none;}div.pChangeMainLink a{border top:0px;padding:6px 5px 0px 25px;}.pChangeModWrap{border:none;background:none;}.pChangeModSet{border top:0px;}.pChangeModSet ul{列表样式类型:disc;}.cModItem{margin bottom:0px;padding bottom:0px;}span.黄色{/风格>;<--文本模块-->;&书信电报;div class=“cModItem noBottomBorder”style=“页边距底部:10px;”和书信电报;p>;サービス事例のサポート ツールセットである ETC当我使用下面提到的方法保存到JCR节点时,问题就出现了,即HTTPBuilder请求HTTPBuilder客户端=新HTTPBuilder(“http://${hostName}:${portNumber}”作为字符串)客户端。请求(method.POST){uri.path=baseURL requestContentType=ContentType.URLENC头。'Authorization'=“Basic${”admin:admin“.bytes.encodeBase64().toString()}”您能将XML添加到问题中吗?将一半的XML作为注释发布对任何人都没有帮助Hanks Rao,但当我使用new.com/blog/…提到的以下方法保存到JCR节点时,问题就来了,即HTTPBuilder请求HTTPBuilder客户端=新的HTTPBuilder(“http://${hostName}:${portNumber}“作为字符串)client.request(Method.POST){uri.path=baseURL requestContentType=ContentType.URLENC头。'Authorization'=“Basic${”admin:admin.bytes.encodeBase64().toString()}”@Senthil,我不确定您所说的JCR node.problem是什么意思,当我使用new.com/blog/…中提到的以下方法保存到JCR node时,出现了一个问题,即HTTPBuilder请求HTTPBuilder client=new HTTPBuilder(“http://${hostName}:${portNumber}”作为字符串)client.request(method.POST){uri.path=baseURL requestContentType=ContentType.URLENC headers.'Authorization'=“Basic${”admin:admin.bytes.encodeBase64().toString()}”您可以尝试使用
requestContentType=“application/x-www-form-urlencoded;charset=utf-8”
Record name : サービス事例のサポート ツールセットである