Come far funzionare il seguente codice con Unicode (CJK) in Prompt dei comandi/LameShell?GHCi su Windows: come leggere l'input Unicode dalla console?
main = getLine >>= putStrLn
(di Windows 8.1, Haskell Platform 2014)
No, chcp 65001
non funziona, né chcp 10000
.
No, non desidero modificare Sistema locale (Pannello di controllo/Orologio, Lingua e Regione/Lingua/Modifica data, ora o formati numerici/Amministrativo) da Inglese (Stati Uniti) ad altri.
Sì, ho impostato il font su Lucida Console.
Ho provato ConEmu/Cmder/Console2, hanno detto tutti "Eccezione: hGetLine: fine del file". Ho anche provato Emacs, (utilizzo Vim), non si è bloccato, ma ottengo sempre spazi, indipendentemente da ciò che immetto.
Patch GHC e ricompilare è accettabile, se non c'è altro modo.
Qualche idea?
Grazie.
Hai provato 'hSetEncoding' da in' System.IO'? – Arnon
Non funziona. Dopo 'chcp 65001',' hGetEncoding stdin' mi dà già 'Solo UTF-8', ho appena fatto un' hSetEncoding stdin utf8' in ogni caso, senza fortuna. –
Ho già avuto questo problema su CentOS e l'ho risolto con hSetEncoding. Non sembra che funzioni anche sul mio Windows 8. È davvero bizzarro. Forse la patch di GHC è il modo corretto per affrontarlo per ora. – Arnon