当我在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-version
24.4.1 M-x org-version
8.2.10 M-! ruby --version
2.1.1p76 在我的init文件中,我有
(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?
答案 0 :(得分:2)
我发现了问题。
在我的Mac上,具有GUI默认环境编码的Emacs为C
。
在我的init文件中,我指定了一个用
编码的环境(setenv "LANG" "fr_FR.UTF-8")
(setenv "LC_ALL" "fr_FR.UTF-8")
和org-babel正确地选择它