ninja-core/src/main/java/ninja/utils/SwissKnife.java
public static PropertiesConfiguration loadConfigurationInUtf8(String fileOrUrlOrClasspathUrl) {

        PropertiesConfiguration propertiesConfiguration = new PropertiesConfiguration();
        propertiesConfiguration.setEncoding(NinjaConstant.UTF_8);
        propertiesConfiguration.setDelimiterParsingDisabled(true);
        propertiesConfiguration.setFileName(fileOrUrlOrClasspathUrl);
        propertiesConfiguration.getLayout().setSingleLine(NinjaConstant.applicationSecret, true);

        try {

            propertiesConfiguration.load(fileOrUrlOrClasspathUrl);

        } catch (ConfigurationException e) {

            logger.info("Could not load file " + fileOrUrlOrClasspathUrl
                    + " (not a bad thing necessarily, but I am returing null)");

            return null;
        }

        return propertiesConfiguration;
    }
public static PropertiesConfiguration loadConfigurationInUtf8(String fileOrUrlOrClasspathUrl) {

        PropertiesConfiguration propertiesConfiguration = new PropertiesConfiguration();
        propertiesConfiguration.setEncoding(NinjaConstant.UTF_8);
        propertiesConfiguration.setDelimiterParsingDisabled(true);
        propertiesConfiguration.setFileName(fileOrUrlOrClasspathUrl);
        propertiesConfiguration.getLayout().setSingleLine(NinjaConstant.applicationSecret, true);

        try {

            propertiesConfiguration.load(fileOrUrlOrClasspathUrl);

        } catch (ConfigurationException e) {

            logger.info("Could not load file " + fileOrUrlOrClasspathUrl
                    + " (not a bad thing necessarily, but I am returing null)");

            return null;
        }

        return propertiesConfiguration;
    }
This is important: We load stuff as UTF-8.

We are using in the default Apache Commons loading mechanism.

With two little tweaks: 1. We don't accept any delimimter by default 2.
We are reading in UTF-8

More about that:
http://commons.apache.org/configuration/userguide/howto_filebased
.html#Loading

From the docs: - If the combination from base path and file name is a
full URL that points to an existing file, this URL will be used to load
the file. - If the combination from base path and file name is an
absolute file name and this file exists, it will be loaded. - If the
combination from base path and file name is a relative file path that
points to an existing file, this file will be loaded. - If a file with
the specified name exists in the user's home directory, this file will be
loaded. - Otherwise the file name is interpreted as a resource name, and
it is checked whether the data file can be loaded from the classpath.

@param fileOrUrlOrClasspathUrl Location of the file. Can be on file
system, or on the classpath. Will both work.
@return A PropertiesConfiguration or null if there were problems getting
it.