gpt4 book ai didi

excel - Camel - Drools 规则编码

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:08 25 4
gpt4 key购买 nike

我有一个 Excel 格式的 Drools 决策表(97/2000 格式),规则中使用的一些字符串具有非 ASCII 字符,例如元音符号 (Ä)。当我根据这个决策表在 Ubuntu 12.04LTS 中使用 Camel-Drools 集成模块构建规则包时,我在规则源中得到了错误的字符。

例如,

在电子表格中 -> Ääripää tässä tapauksessa,

在内置的 drl 文件中 -> ��rip�� t�ss� tapauksessa

如果我在 Windows/Ubuntu/Mac(Eclipse 或 IDEA 没有区别)开发机器甚至在 Vagrant/VirtualBox/Ubuntu 环境中使用完全相同的 excel 文件,drools 规则没有字符编码问题。

代码被打包成Spring-boot Jar文件,其中包含部署应用程序的Jetty服务器。这个相同的 JAr 文件已用于在每个不同的环境中进行测试,但只有一个失败是基于云的测试环境。

测试环境是用 Kitchen & Chef 食谱建立的,它是一个云环境,还没有弄清楚云环境和开发环境之间的区别是什么。

曾尝试将 excel 文件格式化为 UTF-8 编码,但似乎不可能。并且 Camel-Drools 集成模块应该在他们的下一个版本 (6.0.0 https://issues.jboss.org/browse/JBRULES-2936) 中修复这个问题,但它仍处于测试阶段并且还不能使用。我也没有得到他们稳定发布的时间表。

有人知道如何解决这个问题吗?

最佳答案

当告诉 drools 关于 XLS 时,使用重载方法指定编码:

public interface KieResources extends Service {

Resource newUrlResource(URL url);

Resource newUrlResource(URL url,
String encoding);

Resource newUrlResource(String path);

Resource newUrlResource(String path,
String encoding);

Resource newFileSystemResource(File file);

Resource newFileSystemResource(File file,
String encoding);

...

}

如果你不这样做,它将使用 Java 平台的默认编码,它使用操作系统的默认编码(Linux 上的 UTF-8,法语 Windows 机器上的 windows-1252,...)

关于excel - Camel - Drools 规则编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com