4
在Tomcat 7中運行的aws ec2實例(3.2.30-49.59.amzn1.x86_64)上的clojure repl中存在以下問題:Unicode字符不會在clojure repl中打印(也不會通過響應http響應)
user=> (println "Tiësto")
Ti�sto
當然,驗證我的文件編碼爲UTF-8:
user=> (get (System/getProperties) "file.encoding")
"UTF-8"
...到目前爲止,一切都很好。也許它是一個REPL輸入的問題,所以我逃避輸入:
user=> (println "Ti\u00ebsto")
Ti�sto
...現在我嘗試打印出來的日誌,而不是
user=> (info "Tiësto")
output from the log:
2013-03-30 19:04:06.569 INFO default user - Tiësto
太好了!雖然這個問題隨地吐痰「鐵斯托」外出時通過環處理器依然存在:發生在我的開發環境
{
...
artists: ["Ti�sto"],
...
}
這些問題沒有(當然)。任何人都知道可能會發生什麼?
如果您正在使用瀏覽器訪問REPL,瀏覽器可能獲得的字符編碼是錯誤的。 請參閱document/javascript控制檯中的document.characterSet。 在谷歌瀏覽器中,使用設置 - >工具 - >編碼 – stackunderflow
這似乎是一個環境問題,而不是與Clojure或JVM本身相關的任何事情。只需在shell上檢查你的'locale',它應該產生一些像「en_US.UTF-8」 – 0100110010101