Search code examples
org-modespacemacs

Can't export TaskJuggler with cyrillics symbols from Spacemacs


I start using org-mode in whole my life and often use TaskJuggler for export Gant's Diagram. All work perfect, but sometimes I have Cyrillic text in my tasks and properties, and when trying export from space maps to TJ3 with open html report, I'm get the error in message buffer:

~/Documents/OrgMode/TaskJuggler.tjp:0: Error: UTF-8 encoding error in line 1: project nil "<?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?> <?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?>" "1.0" 2018-05-03 +280d {
org-taskjuggler-compile: TaskJuggler failed with errors: Error: UTF-8 encoding error in line 1: project nil "<?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?> <?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?><?>" "1.0" 2018-05-03 +280d {

How can I fix that? Now I use clear export to TJ3, and after that use CLI:

tj3 TaskJuggler.tjp -o ./reports

And only after that command I got what I need.


Solution

  • Setting language environment variables in Emacs helped in my case:

    (setenv "LC_ALL" "en_US.UTF-8")
    (setenv "LANG" "en_US.UTF-8")
    (setenv "LANGUAGE" "en_US.UTF-8")
    (setenv "LC_COLLATE" "en_US.UTF-8")
    (setenv "LC_CTYPE" "en_US.UTF-8")
    (setenv "LC_MESSAGES" "en_US.UTF-8")
    (setenv "LC_MONETARY" "en_US.UTF-8")
    (setenv "LC_NUMERIC" "en_US.UTF-8")
    (setenv "LC_TIME" "en_US.UTF-8")
    

    Check what locale settings you use in shell environment by running locale and set your emacs variables accordingly.

    As @Bimawa mention in other thread, for Spacemacs this code should be added in (defun dotspacemacs/user-config ()) function in .spacemacs dot file.