0
"\ 303 \ 251"ユニコードを表示している間、Scalaで何か問題があると思います。理想的には "é"と表示されるはずですが、代わりに "é©"と表示されます。スカラエンコーディングで何が問題になりますか?
2.10.4、2.10.5 & 2.11.8のようないくつかのスカラーバージョンで試しましたが、同じ出力(つまり、é)があります。
$ JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 sbt
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
> console
Welcome to Scala version 2.11.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_71).
scala> print ("\303\251")
é
scala> System.getProperty("file.encoding");
res2: String = UTF8
でも私はまだ251つまり、\ u00c3の\のu00a9、同じ出力\ \ 303のための同等の六角エスケープリテラルを使用
scala> print ("\u00c3\u00a9")
é
注:私は唯一のLinuxとUbuntu OSでこの問題に直面しているが、以下に示すようにMACにそれは非常にうまく動作します:
scala> print ("\303\251")
é
ScalaはLinuxの&のUbuntuマシンで間違った出力を与えている理由を私は理解していませんでした。誰もこの問題に直面していますか?これを修正する方法を教えてください。あなたの時間と助けてくれてありがとう。
これはおそらくLinux文字エンコードの問題です。私は、Linuxマシンの基礎文字コードがMacとは違ってこれらの文字を解釈すると推測します。 –
私のLubuntu 15.10(Linux 4.2.0-34-generic)ラップトップのREPL(2.11.7)から正しく印刷します。しかし、私は、 "Octalのエスケープ文字は廃止されました"という警告を受けます。 – jwvh
コマンドラインから 'echo -e" \ u00c3 \ u00a9 "を起動するとどうなりますか? – jwvh