我一生都在使用org-mode,并且经常使用TaskJuggler来导出甘特图。一切都很完美,但有时我的任务和属性中有西里尔文本,当尝试使用打开的 html 报告从空间 map 导出到 TJ3 时,我在消息缓冲区中收到错误:
~/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 {
我该如何解决这个问题? 现在我使用清晰导出到 TJ3,然后使用 CLI:
tj3 TaskJuggler.tjp -o ./reports
只有在该命令之后我才得到我需要的东西。
最佳答案
在 Emacs 中设置语言环境变量对我的情况有帮助:
(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")
通过运行 locale
检查您在 shell 环境中使用的区域设置,并相应地设置您的 emacs 变量。
正如 @Bimawa 在 other thread 中提到的那样,对于 Spacemacs,此代码应添加到 .spacemacs
点文件中的 (defun dotspacemacs/user-config ())
函数中。
关于org-mode - 无法从 Spacemacs 导出带有西里尔字母符号的 TaskJuggler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50158406/