【问题标题】:Mule ESB Groovy Unicode output issueMule ESB Groovy Unicode 输出问题
【发布时间】:2013-11-24 07:13:56
【问题描述】:

我的 Mule ESB 项目中有这个小组件链:

<set-payload value="Получена заявка ##[sessionVars['ticketID']]" doc:name="Set SMS Text"/>
<scripting:transformer doc:name="Send SMS" ignoreBadInput="true">
    <scripting:script engine="Groovy"><![CDATA[
        new File("/tmp/groovy.out").withWriter { out ->
            out.println message.payload
        }
    ]]></scripting:script>
</scripting:transformer>

当消息在 /tmp/groovy.out 中通过此链时,我可以看到“Џолучена заЯвка #4041”而不是预期的“Получена заявка #4041”(“Получена заявка” - 俄语单词),即 unicode 存在问题字符输出,ASCII字符没有问题。

当我使用 HEX 编辑器检查 /tmp/groovy.out 时,我看到所有 Russain 字符都有 1 字节长度(在 unicode 中必须是 2 字节长度),即我的 Groovy 组件的输出不是 unicode。

当我使用 Echo 和 Logger 组件时,将 unicode 输出到 Mule 日志没有问题。同样在 SMTP 组件中,一切都很完美:我成功地收到了来自 Mule 的 unicode 信件。

您能帮我将 unicode 输出到 Mule ESB 中的 Groovy 文件吗?

【问题讨论】:

    标签: unicode groovy mule


    【解决方案1】:

    你可以试试:

    new File("/tmp/groovy.out").withWriter( 'UTF-8' ) { out ->
    

    【讨论】:

      猜你喜欢
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多