在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()
预期应写入目标系统: サービス事例のサポートツールセットである
但它以这种格式复制: サービス事例 ? サ ?ートツールセット ? ? る
答案 0 :(得分:1)
假设下面的任意xml文件包含此问题的作者提到的字符。
xml 文件,比如testutf.xml。请注意,该文件使用mainJson[mainJson.inputNgModel]
字符编码保存。
utf-8
这是读取的脚本,它以相同的编码读取xml文件。评论添加得恰到好处。
<?xml version="1.0" encoding="UTF-8"?>
<records>
<record>
<name>サービス事例のサポート ツールセットである</name>
</record>
</records>
输出
import groovy.xml.*
//Chang the xml file path as per your environment
def fileName = '/absolute/path/of/the/testutf.xml'
//Read file with utf-8 encoding
def contents = new File(fileName).getText('utf-8')
//parsed object
def parsedContents = new XmlSlurper().parseText(contents)
//Read the data
def nameData = parsedContents.record.name
println "Record name : $nameData"
我相信您应该能够将相同的内容应用于您自己的xml而不是上面的示例xml。
答案 1 :(得分:0)