Character encoding error (german special chars) v2.3 _ Java 17

Issue #1185 resolved
Sören Schwirsch created an issue

Hi all,
with Serviio v2.3 i get character encoding errors in my DLNA clients and all Web apps (console, media browser, rest api).

If i should guess, i would take a look at the new org.serviio.i18n.Utf8ResourceBundle class.

I compared the browsingCategories_de.properties file from v2.2.1 and v2.3

If you take a look at the screenshot, you can see that the v2.2.1 file is ANSI encoded with masked special chars. The v2.3 file is UTF-8 encoded w/o masked chars.

My Test-Setup:

  • Server:

  • Clients:

    • Windows 10 native DLNA Client
    • LG WebOS SmartTV native DLNA Client
    • Amazon FireTV with the "AirReceiver" app as DLNA Client
    • Samsung S22 with the "AirReceiver" app as DLNA Client
    • Google Chrome 104.x on Windows 10 (guest mode) as Web Client
    • Google Chrome 106.x on Windows 11 (guest mode) as Web Client

Comments (9)

  1. Petr Nejedly repo owner

    So yes, the encoding of the files changed to utf-8 in this version.

    I tried German on my TV and it works correctly.

    Can you try in MediaBrowser? Also, not sure if there might be some caching happening on your client(s). Also not sure if the Docker image might be “corrupted” - could you try with a normal install?

  2. Sören Schwirsch reporter

    So, i install Serviio v2.3 on a fresh Debian 11 Linux (with a new unsed ip-address). The same results. Attached you find screens from the Console, MediaBrowser, Chrome DevTools with the REST API response and the screen of “AirReceiver” DLNA client.

    What i have done:

    1. Download Serviio from https://download.serviio.org/releases/serviio-2.3-linux.tar.gz
    2. Unpack to /opt/serviio
    3. Start Serviio via /opt/serviio/bin/serviio.sh
    4. Open WebApp Serviio Console (In a new Google Chrome Guest Session. Every Guest Session start with a inital/empty cache, that is very usefull if you test angular or SAPUI5 WebApps)
    5. Goto Menu → Presentation
    6. Change the “Select preferred language of the browsing menu” option to “Deutsch”
    7. Screenshoot
    8. Create a new User for the MediaBrowser App
    9. Open WebApp MediaBrowser
    10. Login with the new User
    11. Select “Musik”
    12. Screenshoot
    13. Open “AirReceiver” Android App on my Samsung S22
    14. Browse to the new Serviio Server and select the “Musik” category
    15. Screenshoot

  3. Sören Schwirsch reporter
    2022-10-26T11:10:32,638 INFO  [MediaServer] ------------------------------------------------------------------------
    2022-10-26T11:10:32,675 INFO  [MediaServer] Serviio DLNA media streaming server v 2.3 (rev. 0a644e100b723d73bf6cbc59c5106edb378f336b)
    2022-10-26T11:10:32,676 INFO  [MediaServer] Petr Nejedly 2009-2018
    2022-10-26T11:10:32,677 INFO  [MediaServer] http://www.serviio.org
    2022-10-26T11:10:32,678 INFO  [MediaServer] 
    2022-10-26T11:10:32,679 INFO  [MediaServer] Java 1.8.0_345-IcedTea arm
    2022-10-26T11:10:32,680 INFO  [MediaServer] OS Linux 5.15.61-v7+
    2022-10-26T11:10:32,681 INFO  [MediaServer] File encoding: UTF-8
    2022-10-26T11:10:32,688 INFO  [MediaServer] Headless mode enabled: true
    2022-10-26T11:10:32,690 INFO  [MediaServer] User: root
    2022-10-26T11:10:32,691 INFO  [MediaServer] User home dir: /root
    2022-10-26T11:10:32,692 INFO  [MediaServer] Temp dir: /tmp
    2022-10-26T11:10:32,693 INFO  [MediaServer] ------------------------------------------------------------------------
    

    With Java 8 it works. No character encoding errors with Java 8 (OpenJDK 8)

    I tested also with Java 19, but there we have the same situation / errors as with Java 17.

  4. Log in to comment