2012-04-16 7 views
7

私はUTF-8をどこにでも設定していますが(私のleinプロジェクトでは、slime-lispグループのカスタマイズ、Emacsバッファー自体...)、次のようなコードを実行しようとするとこのエラーが発生します。 (def beta "β"):例えば、コマンドラインからlein replを実行していないとき面白い文字をSLIMEに送ることはできません

Coding system iso-latin-1-unix not suitable [...] 

は、唯一のEmacsで発生します。

何が原因でしょうか?私はUbuntuを使用しています。

+0

。 .. * .clj *ファイルには、* .clj *ファイルごとに使用する文字エンコーディングが指定されていますか?たとえば、GoogleのGo言語仕様によれば、すべてのソースコードファイル*はUTF-8でなければならず、Javaでは何も指定されていません(UTF-8またはISO-8859-1または* .java *ソースコードファイル)。 * .clj *ファイルはどうですか? – TacticalCoder

+0

組み込みの 'load-file' fnが何かをスラーするので、私はそうは思わないでしょう... – vemv

+1

すべての.cljファイルはUTF-8でなければなりません。これはどこにでも書かれていませんが(残念ながら)、コンパイラーにハードコードされています:https://github.com/clojure/clojure/blob/3297866c23dd01a5b0db14ed836336d128972aac/src/jvm/clojure/lang/Compiler.java#L6912 – raek

答えて

6

あなた.emacsに次のコードを持っている必要があります。

(setq slime-net-coding-system 'utf-8-unix) 

を、あなたが実行したときに、あなたのproject.cljで次のlein swank(またはutf-8に設定swank.encoding Javaシステム・プロパティー):ところで

:encoding "utf-8" 
+0

':エンコーディング" utf-8 "'は私にとって違いがありました。代わりに ':jvm-opts [" -Dfile.encoding = utf-8 "]'を使っていました。ありがとうございました! – vemv

関連する問題