Encoding format of configuration files: ANSI, ASCII

since upgrading to snapshot #789 or #791 I get strange errors with my existing configuration files. A few are on deprecated functions, but others I suspect on mismatches with encoding Formats or something.

e.g. my mysql.persist:

2017-02-15 06:57:06.078 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'mysql.persist' has errors, therefore ignoring it: [1,1]: mismatched input '<EOF>' expecting 'Strategies'
2017-02-15 06:57:06.200 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mysql.persist'

my mysql.persist looks like this:

Strategies {
// Persistence Strategien haben einen Namen und eine Definition
	everyMinute		: "0 * * * * ?"
	every5Minutes	: "0 */5 * * * ?"
	everyHour		: "0 0 * * * ?"
	every6Hours		: "0 0 */6 * * ?"
	everyDay		: "0 0 0 * * ?"

    // Wenn bei einem unten definierten Item keine Strategie angebeben ist,
    // wird die Default-Liste angewendet
    default = everyChange

 * Each line in this section defines for which item(s) which strategy(ies)
 * should be applied. You can list single items, use "*" for all items or
 * "groupitem*" for all members of a group item (excl. the group item itself).
Items {
    // Speichere die Daten aller Items jeden Tag (everyDay) und 
    // ordne den Items bei einem Neustartand den letzten Wert zu (restoreOnStartup)
    * : strategy = everyDay, restoreOnStartup

    // zusätzlich: speichere alle Temperaturen, Wetterdaten, USB-Strom alle 6 Stunden (every6Hours)
    gSensoren*, gWeather*, RTR*, gRTR*, gUSB* : strategy = every6Hours, everyChange
	RTR_EG_WoZi_actualTemp, RTR_OG_Schlafen_actualTemp, RTR_OG_Bad_actualTemp, RTR_OG_KiZiOst_actualTemp, RTR_OG_KiZiWest_actualTemp : strategy = everyChange
	RTR_EG_WoZi_control, RTR_OG_Schlafen_control, RTR_OG_Bad_control, RTR_OG_KiZiOst_control, RTR_OG_KiZiWest_control : strategy = everyChange

    // speichere die größten Lüftungs-Daten täglich und bei Änderung
    // Lueftung_Control, Lueftung_Fan_Level, Lueftung_Komfortemperatur, Lueftung_Bypass, Lueftung_Aussenlufttemperatur, Lueftung_Fortlufttemperatur, Lueftung_Zulufttemperatur, Lueftung_Ablufttemperatur, Lueftung_Zuluft, Lueftung_Abluft : strategy = everyDay, everyChange
	gLueftung : strategy = everyDay, everyChange
    // speichere täglich und bei Änderung
    gAstro*, gBinder*, gNuki*, gEkey*, Shutters*, Lights* : strategy = everyDay, everyChange

Encoding was “ANSI”, I tried “ISO 8859-15” - same error?

PS: persistance on existing items works fine. seems OH2 loads the persistance nevertheless, but newly added items don’t get persisted and I get an error on each changing on new items.

strange things also happens with refreshing rules, perhaps this is connected:

2017-02-15 15:43:31.201 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'dashbutton.rules'
2017-02-15 15:43:31.230 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'dashbutton.rules' is either empty or cannot be parsed correctly!
2017-02-15 15:43:32.332 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'dashbutton.rules'

There’s only one rule inside “dashbutton.rules” at present - and it fires correctly… It seems the WARNING is some kind of error?

After a bit more playing around, I created new files and copied the content - now it works as intended.

But the initial question remains. Should the configurationfiles in OH2 be ANSI, ASCII, UTF-8, … encoded? what works best?
From my experience, the german Umlauts get screwed, if the files are ANSI - but ANSI seems the best way for the files as those seem to work without side effects?

I also get many errors since switching from 2.0 stable to latest snapshot.

My configuration files are in “UTF-8 without BOM” format. Created with Notepad ++ on Windows 10.

The strange thing is:

If i make more small rule files instead of bigger ones, sometimes the errors are gone… I divided a bigger rule-file with about 10 rules to 3 small files - without any additional changes - and the errors are gone if i update the rules-files separatly.