2

当我在 org-mode 中评估 ruby​​ 代码块时,我遇到了 utf-8 错误。

事实上,如果我这样做了

#+BEGIN_SRC ruby :exports both :results output
  puts RUBY_VERSION
  puts __ENCODING__
#+END_SRC

#+RESULTS:
: 2.1.1
: US-ASCII

当我尝试评估

#+BEGIN_SRC ruby
  'Aurélien'
#+END_SRC

我在Org-Babel 错误输出中收到此错误

-:3: invalid multibyte char (US-ASCII)
-:3: invalid multibyte char (US-ASCII)
-:3: syntax error, unexpected end-of-input, expecting keyword_end
'Aurélien'

如果我启动一个 inf-ruby 缓冲区,我可以使用 utf-8,没有问题。我认为这是 org-babel 的问题。

我的配置:

  • M-x emacs-version24.4.1
  • M-x org-version8.2.10
  • M-! ruby --version2.1.1p76
  • 来自包列表:安装了 inf-ruby 20141005.550

在我的初始化文件中,我有

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq buffer-file-coding-system 'utf-8)
(setq erc-server-coding-system '(utf-8 . utf-8))
(setq locale-coding-system 'utf-8)
;; Treat clipboard input as UTF-8 string first; compound text next, etc.
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

ruby 代码块和 org-babel 是否有设置可以更改为默认使用 utf-8?

4

1 回答 1

4

我发现了问题。

在我的 Mac 上,具有 GUI 默认环境编码的 Emacs 是C.

在我的初始化文件中,我指定了一个环境编码

(setenv "LANG" "fr_FR.UTF-8")
(setenv "LC_ALL" "fr_FR.UTF-8") 

和 org-babel 正确地把它捡起来

于 2014-11-16T21:38:16.533 回答