Emacs 组织模式中的ditaa和外来字符问题

Emacs 组织模式中的ditaa和外来字符问题,emacs,org-mode,Emacs,Org Mode,我正在使用适用于MacOSX和组织模式的emacs。我试图用ditaa创建一个图表,代码如下: #+begin_ditaa skipting.png -e utf8 -r +----------------+ | Bestun | | á staðsetningu | | hleðslustaura | | c707

我正在使用适用于MacOSX和组织模式的emacs。我试图用ditaa创建一个图表,代码如下:

#+begin_ditaa skipting.png -e utf8 -r
                +----------------+
                | Bestun         |
                | á staðsetningu |
                | hleðslustaura  |
                | c707           |
                +----------------+
#+end_ditaa
输出不是我期望的,即字母á和ð没有正确显示,有没有办法解决这个问题


修正:使用下面选择的答案,但记住在.emacs文件中将ditaa添加到babel语言中

首先,如果您有当前版本的组织模式,则应使用babel语法:

#+begin_src ditaa :file skipting.png :cmdline -e utf-8 -r -v
...
#+end_src
关于UTF-8编码,我在调用java时添加了“-Dfile.encoding=UTF-8”;为此,我必须修改ob-ditaa.el

如果这是解决方案,则可能需要为组织模式提供补丁。或者一些java专家可以评论如何在系统范围内设置此属性

同时,您可以搜索ob-ditaa.el,并编辑以下行:

(cmd (concat "java -Dfile.encoding=UTF-8 -jar "

然后用函数定义中的某个点按M-C-x重新计算该函数。

Hi,我想知道重新计算该函数需要多长时间?我照你说的做了,但现在我只得到ascii输出。我将把导出的输出添加到主要问题中。重新评估函数不需要时间;您应该在minibuffer中看到“org babel execute:ditaa”通知,这意味着该函数已被重新评估并准备好使用。请注意,如果希望此更改永久用于新的emacs会话,您可能需要字节编译此文件等。消息缓冲区可能有助于错误查找。按“F1 e”查看消息。我已将错误消息添加到主帖子中,似乎没有错误。如果我想进行字节编译,我想我需要运行make文件。我试试看,让你知道!我运行了他制作的文件,结果仍然相同。