Java Mule 3.7.3-Dataveawe消息转换器编码错误

Java Mule 3.7.3-Dataveawe消息转换器编码错误,java,encoding,utf-8,mule,Java,Encoding,Utf 8,Mule,我正在使用mule转换我项目中的一些webservice响应,目前我正在使用DataWeave消息转换器 我应该转换的JSON: { "odata.metadata": "http://mchwtatmsdb/Across/CrossTank/api/v1/$metadata#Translations", "value": [ { "SourceSentence": { "Id": 2750901, "Text": "Refrigera

我正在使用mule转换我项目中的一些webservice响应,目前我正在使用DataWeave消息转换器

我应该转换的JSON:

{
  "odata.metadata": "http://mchwtatmsdb/Across/CrossTank/api/v1/$metadata#Translations",
  "value": [
    {
      "SourceSentence": {
        "Id": 2750901,
        "Text": "Refrigerator:",
        "Language": 1033
      },
      "TargetSentence": {
        "Id": 2750902,
        "Text": "Kühlschrank:",
        "Language": 1031
      },
      "Id": 2264817,
      "Similarity": 100,
      "CreationDate": "2009-02-25T12:56:15",
      "Creator": "41e8d49d-0de7-4a96-a220-af96d94fe4b0",
      "ModificationDate": "2009-02-25T12:56:15",
      "Modificator": "00000000-0000-0000-0000-000000000000",
      "State": "SmartInserted",
      "Note": ""
    },
    {
      "SourceSentence": {
        "Id": 2750906,
        "Text": "Refrigerator*",
        "Language": 1033
      },
      "TargetSentence": {
        "Id": 2750907,
        "Text": "Kühlschrank*",
        "Language": 1031
      },
      "Id": 2264822,
      "Similarity": 100,
      "CreationDate": "2009-02-25T12:55:46",
      "Creator": "41e8d49d-0de7-4a96-a220-af96d94fe4b0",
      "ModificationDate": "2009-02-25T12:55:46",
      "Modificator": "00000000-0000-0000-0000-000000000000",
      "State": "SmartInserted",
      "Note": ""
    }
  ]
}
我基本上使用transformer,定义项目中包含的json文件对应的元数据

所以变压器部分很简单:

<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
{
    "odata.metadata": payload."odata.metadata",
    value: payload.value map ((value , indexOfValue) -> {
        SourceSentence: {
            Id: value.SourceSentence.Id,
            Text: value.SourceSentence.Text as :string,
            Language: value.SourceSentence.Language
        },
        TargetSentence: {
            Id: value.TargetSentence.Id,
            Text: value.TargetSentence.Text,
            Language: value.TargetSentence.Language
        },
        Similarity: value.Similarity
    })
}]]></dw:set-payload>
“Text”:“K252hlschrank*”字符串的一部分将“ü”字符显示为“252”。我尝试在Windows和Linux环境下运行该项目。在linux上,字符显示为“\u00”,所以我认为这与操作系统问题有关。我试过几种方法来解决这个问题

试图更改项目属性,请将编码设置为“UTF-8”。它不起作用

试图更改运行配置,将编码设置为“UTF-8”。它不起作用

试图将-Dfile.encoding=“UTF-8”参数转换为Java的运行参数,但同样无效


这个问题的根源是什么?变压器是否直接使用操作系统的编码?因为没有转换,主json文件表示为“ü”,没有编码问题。

我通过将我的windows语言设置从土耳其语更改为英语(英国)解决了这个问题。。。我不知道它是如何影响的,但它发挥了神奇的作用。

我通过将我的windows语言设置从土耳其语更改为英语(英国)解决了这个问题。。。我不知道它是如何产生效果的,但它发挥了神奇的作用。

仅供参考:我将它交叉张贴到了那里。当然,订单不重要,只是为了让某人检查交叉张贴,看看它是否已经得到答复。仅供参考:我将它交叉张贴到了那里。当然,订单不重要,这只是为了有人可以检查交叉柱,看看它是否已经被回答了。
{
  "odata.metadata": "http://mchwtatmsdb/Across/CrossTank/api/v1/$metadata#Translations",
  "value": [
    {
      "SourceSentence": {
        "Id": 2750901,
        "Text": "Refrigerator:",
        "Language": 1033
      },
      "TargetSentence": {
        "Id": 2750902,
        "Text": "K252hlschrank:",
        "Language": 1031
      },
      "Similarity": 100
    },
    {
      "SourceSentence": {
        "Id": 2750906,
        "Text": "Refrigerator*",
        "Language": 1033
      },
      "TargetSentence": {
        "Id": 2750907,
        "Text": "K252hlschrank*",
        "Language": 1031
      },
      "Similarity": 100
    }
  ]
}