Jump to content
Sign in to follow this  
tim copperfield

Timer recordings state does not keep unicode EPG text

Recommended Posts

tim copperfield

When recordings are scheduled, timers.xml (%programdata%\CMUV\DVBViewer) state is saved as encoding="iso-8859-1".

This prevents any international (Arabic, CJK, Thai, etc) filenames from being recorded if DVBViewer is shutdown and re-opened.

 

Any non-iso8859 characters are replaced with "?". and turn into " " (space) in recording filename as a result.

 

If DVBViewer is continuously running (not shutdown between recordings) then the filenames are correctly written as they appear on EPG.

 

Solution: change timers.XML encoding to utf-8

Share this post


Link to post
Griga
5 hours ago, tim copperfield said:

When recordings are scheduled, timers.xml (%programdata%\CMUV\DVBViewer) state is saved as encoding="iso-8859-1".

 

Never trust the encoding information in DVBViewer XML configuration files. ;)

 

Actually the character coding of the timers.xml is based on the Windows code page for non-unicode programs (mostly for compatibility reasons), which means, it is not necessarily iso-8859-1 (similar to Windows Western European), but depends on your region settings. Read more about it here.

 

5 hours ago, tim copperfield said:

Any non-iso8859 characters are replaced with "?".

 

....the result of character conversion  from Unicode to the system code page. Some characters are not available in this code page. Issues like this are mostly caused by a code page for non-unicode programs that doesn't match the actually used language.

 

Nevertheless this is  clearly a DVBViewer drawback and has to be changed sooner or later. The timers.xml should use UTF-8 character coding, like the svctimers.xml created by the DVBViewer Media Server, even if add-ons that rely on the current encoding won't work properly anymore.

Share this post


Link to post
tim copperfield
6 hours ago, Griga said:

Nevertheless this is  clearly a DVBViewer drawback and has to be changed sooner or later. The timers.xml should use UTF-8 character coding, like the svctimers.xml created by the DVBViewer Media Server, even if add-ons that rely on the current encoding won't work properly anymore.

Correct.

 

Share this post


Link to post
Griga

As preparation for future changes the 6.0.4 release is able to read a timers.xml with UTF-8 content. If needed I can send you a DVBViewer 6.0.4 test version that also writes a UTF-8 timers.xml. A 6.0.4 installation is required for it. Please let me know...

Share this post


Link to post
tim copperfield
43 minutes ago, Griga said:

A 6.0.4 installation is required for it. Please let me know...

Sure thing.

I'll update to 6.00.4 now and you can send me the updated binary.

Share this post


Link to post
Griga

Check your PMs.

Share this post


Link to post
tim copperfield
6 minutes ago, Griga said:

Check your PMs.

 

Downloaded and installed.

Can confirm, timers.xml is in UTF8 and properly keeps non-ascii character state in recordings on shutdown/open.

Share this post


Link to post
Griga

Thanks for testing. Please keep an eye on it. Reading is based on UTF-8 auto-detection for compatibility reasons, and I'm not sure if it works flawlessly under all circumstances.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • popy
      By popy
      Hey.
       
      Sadly DVBViewer does'nt support this feature i have written an AutoIt script which deletes old files/recordings on low disk space.
       
      This Tool recursive deletes files (ex.: recordings) in an folder (SearchPath) if free disk space of the drive is under ThresholdMB.
      Also a filter (SearchExtension & OptionalExtensions) should be used.
      If the ThresholdMB is reched, files up to DeleteMB will be deleted.
      Optional a recording database cleanup task can be triggered after deleting of the files.
       
      Just to be sure you know what you are doing: You can loos data if you use this tool wrong, always backup!
       
      Here is the Readme file:
       
      AutoCleanFiles v1.0 by pOpY 2018 ************************************ ***********Disclaimer*************** ************************************ Deutsch: !! ACHTUNG !! Dieses Tool löscht Dateien von Ihrer Festplatte. Bei falscher Konfiguration bzw. Programmfehlern kann es zu Datenverlust kommen. Ich hafte in keinster weise dafür!!!! Durch Benutzung dieses Tools stimmen Sie diesem Absatz zu! English: !! This Tool deletes files from your harddrive. There could be lost of data If your configuration is wrong or there are program errors. It is your fault if you doesnt use thius tool correctly. With the installation of this tool you agree to this. ************************************ **************Info****************** ************************************ Deutsch: Dieses Tool löscht rekursiv Dateien (z.B.: Aufnahmen) in einem Verzeichnis (SearchPath) wenn der Freie Speicherplatz des Laufwerks das Limit ThresholdMB unterschreitet. Außerdem sollte der Filter (SearchExtension & OptionalExtensions) gesetzt werden um die Suche einzuschränken. Weiters kann mit DeleteMB festgelegt werden wieviel MegaBytes maximal gelöscht werden sollen. Optional kann nach dem löschen der Aufnahmen/Dateien ein Aufräumen der Aufnahme Datenbank des DVBViewer Media Server veranlasst werden (DMSHost & DMSPort) English: This Tool recursive deletes files (ex.: recordings) in an folder (SearchPath) if free disk space of the drive is under ThresholdMB. Also a filter (SearchExtension & OptionalExtensions) should be used. If the ThresholdMB is reched, files up to DeleteMB will be deleted. Optional a recording database cleanup task can be triggered after deleting of the files. ************************************ **********Installation************** ************************************ Deutsch: * Einfach folgende Dateien in einen gewünschten Ordner kopieren (muss nicht der DVBViewer Ordner sein). Sollte aber ein Ordner sein wo Schreibrechte für den gewünschten User bestehen, da das Tool ein Log schreibt. AutoCleanFiles.exe Haupt Programm AutoCleanFiles.ini Einstellungsdatei (MUSS ANGEPASST WERDEN, siehe Beispiel unten) English: * Just copy the following files into any folder (must not be the DVBViewer folder). But an folder with write permissions because the application is writing a log file AutoCleanFiles.exe Main application AutoCleanFiles.ini Settings file (MUST BE ADJUSTED, see example) ******************************************** ************ Parameter Info **************** ******************************************** Deutsch: SearchPath Suchpfad für Dateien, ein Hauptverzeichnis wie C:\ ist aus SIcherheitsgründen nicht zugelassen! SearchExtension Datei Erweiterung nach der gesucht werden soll. Erlaubt ist *.EXT, .EXT oder EXT OptionalExtensions Zusätzliche Datei Erweiterung die gelöscht werden sollen. Erlaubt ist *.EXT, .EXT oder EXT Mehrere Erweiterungen können mit , (Komma) getrennt angegbene werden. z.B.: Wird eine Name.ts gefunden kann auch eine Name.txt gelöscht werden ThresholdMB Wird der Freie Speicherplatz in MegaBytes am Laufwerk von SearchPath unterschritten wird bis zu DeleteMB Dateien gelöscht DeleteMB Anzahl an MegaBytes welche gelöscht werden sollen wenn das limit ThresholdMB unterschritten wird DMSHost IP/Computername vom DVBViewer Media Server WebInterface, wenn gesetzt wird die Aufgabe, zum Aufräumen der vorher gelöschten Aufnahmen, ausgeführt. Wenn nicht gesetzt/vorhanden wird das DMS nicht informiert. DMSPort Port vom DVBViewer Media Server WebInterfac, wenn gesetzt wird die Aufgabe, zum Aufräumen der vorher gelöschten Aufnahmen, ausgeführt. Wenn nicht gesetzt/vorhanden wird das DMS nicht informiert. TryRun 0 = nichts wird gelöscht (Testlauf), 1 = Dateien werden gelöscht wenn ThresholdMB unterschritten wird English: SearchPath search path for files, a root directory like C:\ is not allowed SearchExtension file extenson to search for. Allowed is *.EXT, .EXT oder EXT OptionalExtensions optional file extensions which should be deleted. Allowed is *.EXT, .EXT oder EXT Multiple extension could be seperated with , (comma) ex: Was a Name.ts file found, Name.txt file will also be deleted ThresholdMB Is the free space of the drive from SearchPath under ThresholdMB, up to DeleteMB will be deleted DeleteMB COunt of MegaBytes which will be deleted when free disk space is under ThresholdMB DMSHost IP/hostname of DVBViewer Media Server WebInterface, if set, task to CleanUp recordings, will be executed. If not set/exists DMS will not be informed. DMSPort Port of DVBViewer Media Server WebInterface, if set, task to CleanUp recordings, will be executed. If not set/exists DMS will not be informed. TryRun 0 = nothing will be deleted (Dry run), 1 = files will be deleted if ThresholdMB reached ************************************ ****Konfiguration/Configuration***** ************************************ Deutsch: * Einfach folgende Dateien in einen gewünschten Ordner kopieren (muss nicht der DVBViewer Ordner sein). Sollte aber ein Ordner sein wo Schreibrechte für den gewünschten User bestehen, da das Tool ein Log schreibt. AutoCleanFiles.exe Haupt Programm AutoCleanFiles.ini Einstellungsdatei (MUSS ANGEPASST WERDEN, siehe Beispiel unten) * Anpassen der Optionen in der Datei AutoCleanFiles.ini, ev. mit höherem ThreasholedMB, ABER BELASSEN SIE "TryRun=1" (siehe Beispiel unten) * AutoCleanFiles.exe ausführen um Testlauf auszuführen Es wird eine Warnung angezeigt ob die Optionen korrekt sind, prüfen Sie diese & bestätigen diese einmalig mit 'Ja' * Log prüfen und geg. Optionen anpassen und erneut einen Testlauf ausführen * Sind die Einstellungen korrekt, setzen Sie das korrekte Limit ThreasholedMB & setzen Sie "TryRun=0" * AutoCleanFiles.exe ausführen um Datein zu bereinigen Es wird eine Warnung angezeigt ob die Optionen korrekt sind, prüfen Sie diese & bestätigen diese einmalig mit 'Ja' * In der Windows Aufgabenplanung bzw. im DVBViewer einen Task (mit erhöhten Rechten) anlegen wo AutoCleanFiles.exe in gewissen Intervallen bzw. nach einer Aufnahme ausgeführt wird. English: * Just copy the following files into any folder (must not be the DVBViewer folder). But an folder with write permissions because the application is writing a log file AutoCleanFiles.exe Main application AutoCleanFiles.ini Settings file (MUST BE ADJUSTED, see example) * adjust settings in file AutoCleanFiles.ini, with higher ThreasholedMB for test reasons, LEAVE "TryRun=1" as it is! * run AutoCleanFiles.exe to start a dry run A warning will be displayed and asks the user to confirm the new settings, please check & confirm settings with 'Yes' * Check log an adjust settings if needed, relaunch another the dry run * Check if all is running well, set correct/lower ThreasholedMB & "TryRun=0" * run AutoCleanFiles.exe to start a live run and clean files A warning will be displayed and asks the user to confirm the new settings, please check & confirm settings with 'Yes' * Create a task in the windows task scheduler or DVBViewer (with high previlegs) to run AutoCleanFiles.exe scheduled or after recording end ********************************************************************** ************ Beispiel Einstellungen / Sample settings **************** ********************************************************************** [Settings] SearchPath=F:\ServerFolders\TV-Aufzeichnung\RecService SearchExtension=*.ts OptionalExtensions=*.txt,*.edl ThresholdMB=30000 DeleteMB=30000 DMSHost=192.168.0.5 DMSPort=8089 TryRun=0 ************************************************* ********************Changelog******************** ************************************************* v1.0: * Initial Version Sorry for my bad english ;-) Viel Spaß damit Have fun pOpY 2018  
      Download: http://www.DVBViewer.tv/forum/applications/core/interface/file/attachment.php?id=46376
       
      Have fun
      pOpY
       
    • tim copperfield
      By tim copperfield
      Basically the title, and probably related to the other post about timers.xml saving as ASCII.
       
      How to reproduce:
       
      1) Open channel editor
      2) Select channel by keyboard or mouse
      3) Press F2 to edit channel name
      4) Copy/type in ช่องทำอาหาร or anything else not ASCII
       
      What happens:

      Text is replaced with ? or .
       
      What should happen:
       
      Entered text should remain
       
    • tim copperfield
      By tim copperfield
      When modifying scheduled recordings and pressing alt-d (delete) to erase a recording, if cursor is positioned at the end of listview, instead of moving up one level after deletion, it jumps to 1st recording in the list.
       
      Example:
       
      A
      B
      C
      D <- now here
       
      Alt-D
       
      A <- now here
      B
      C
       
      Expected behavior:
       
      A
      B
      C <- now here
       
×