All KieResources methods have an overloaded method with a String encoding parameter, for example: Resource newInputStreamResource(InputStream in); Resource newInputStreamResource(InputStreamin, String encoding); Except for: Resource newFileSystemResource(File file); Requirements: Add a method: Resource newFileSystemResource(File file, String encoding); If no encoding is specified, the encoding defaults to the platform default (windows-1252 on windows, UTF-8 on linux). This causes portability issues: a DRL file that works perfectly on the developers machine might not work on the production machine - if they use different operation systems.
Fixed by https://github.com/droolsjbpm/droolsjbpm-knowledge/commit/1afbceb35 and https://github.com/droolsjbpm/drools/commit/49dfc2fc1
Cherry-picked to 6.0.x branch with https://github.com/droolsjbpm/droolsjbpm-knowledge/commit/2df5d8408 and https://github.com/droolsjbpm/drools/commit/3e755c457
Verified on BRMS 6.0.2 ER2.