drools规则中的特殊字符

时间:2011-12-21 11:36:05

标签: java rules drools

我正在使用jBoss drools(v5.1.0)和Tohu(也是用于生成动态问卷的jBoss产品)。 问题是drools和我想在我的规则中放入String的特殊字符。更具体地说,我想在drools中创建/修改对象,其中某些字段是字符串但是我在这些字符串中放入的特殊字符不正确! 例如这段代码:

rule "UsecaseSelection"
dialect "mvel"
no-loop
    then
        Group aGroup = new Group("UsecaseSelection");
        aGroup.setLabel("Sélection du cas client");
        aGroup.setItems({
            "UsecaseSelectionQuestion",
            "UsecaseDescription"});
        insertLogical(aGroup);
end

将输出一个标签为“S?lection du cas client”的组(即特殊字符“é”未正确出现)
我将这个编码问题缩小到流口水,我不知道是否有解决方案或解决方法,因为我真的需要在我的项目中使用这些特殊字符。
在此先感谢您的帮助,非常感谢!

2 个答案:

答案 0 :(得分:1)

当前以平台的默认编码读取DRL文件。 因此,如果您在Linux或Mac上阅读DRL文件,请确保该文件以UTF-8编码。 对于Windows,请使用CP-1252。

This is a related issue.

答案 1 :(得分:-1)

使用Camel框架及其身体转换器:

    <camel:route id="tjtpRoute">
        <camel:from uri="direct:tjtpRoute" />
        <camel:to uri="drools:node1/tjtpKSession" />

        <!-- Since excel file is in windows Cp1252 encoding, we need to read it 
            in as such -->
        <camel:convertBodyTo type="String" charset="Cp1252" />
    </camel:route>