MySQL persistence character set problem

Tags: #<Tag:0x00007fc20231c448>


Disclaimer: I don’t know if this is problem is within MySQL persistence or LGTV binding, so this is first thing I need help investigating.

I saw this in the log:

==> /var/log/openhab2/events.log <==
2020-01-14 20:20:29.875 [vent.ItemStateChangedEvent] - LGTV_ChannelName changed from TV 2 Charlie to AN-TV Prłvekanal

==> /var/log/openhab2/openhab.log <==
2020-01-14 20:20:29.958 [ERROR] [sql.internal.MysqlPersistenceService] - mySQL: Could not store item ‘LGTV_ChannelName’ in database with statement ‘INSERT INTO Item44 (TIME, VALUE) VALUES(?,?) ON DUPLICATE KEY UPDATE VALUE=?;’: Incorrect string value: ‘\xC5\x82veka…’ for column ‘Value’ at row 1

So clearly some sort of character set problem, but I don’t know if LGTV binding is missing some conversion or is badly handling character set problems from the TV or network. The text “AN-TV Prłvekanal” from the log is already messed up, it should be “AN-TV Prøvekanal”, so maybe I answered my own question already?

Next, checked database and saw that database as well as all tables and all string Value columns are created with “latin1_swedish_ci”. Is this sufficient and/or can it be configured somehow?

I can see in the Item table that last successful logged entry for that channel was on January 3rd (at that time running openHAB 2.5.0), here “AN-TV Pr?vekanal” was logged - also wrong, but at least logged.

Version of MySQL Persistence: persistence-mysql - 1.14.0
Version of openHAB: 2.5.1

Best regards,
Jacob Laursen