| haskell + русский язык = ? | |
| От: | NotGonnaGetUs![]() | ||
| Дата: | 15.11.07 15:20 |
| Возникла трудность, надеюсь, решаемая... Сложная программа
Выводит в консоль фразу "\1055\1077\1090\1103" Я пользуюсь eclipse в качестве редактора кода и там выставлено UTF-8 в качестве 'text file encoding'. Без этого ghc вообще не собирает программу. Как сделать так, чтобы в консоле можно было писать русские слова? Может есть какая-то библиотека для этих целей... Поиски в гугль пока не дали результата. |
| Re: haskell + русский язык = ? | |
| От: | deniok![]() | ||
| Дата: | 15.11.07 17:05 |
| Здравствуйте, NotGonnaGetUs, Вы писали: NGG>Как сделать так, чтобы в консоле можно было писать русские слова? Вроде нужно UTF8 конвертнуть в кодовую страницу консоли: было обсуждение здесь. |
| Re: haskell + русский язык = ? | |
| От: | R.K.![]() | ||
| Дата: | 15.11.07 19:45 |
| Здравствуйте, NotGonnaGetUs, Вы писали: NGG>Возникла трудность, надеюсь, решаемая... Я делал так: сами исходники в ANSI-кодировке, собирается небольшая утилита (prepRus) эскапирования незнакомых русских символов:
Параметры GHC такие: -F -pgmF prepRus Для вывода строк в консоль следующий модуль:
Для примера можно посмотреть консольную версию Балды 2G: [Haskell] Балда 2G Автор: R.K. Дата: 13.12.06 You aren't expected to absorb this |
| Re: haskell + русский язык = ? | |
| От: | awson![]() | ||
| Дата: | 16.11.07 05:19 | ||
| Оценка: | 1 (1) | ||
| Здравствуйте, NotGonnaGetUs, Вы писали: NGG>Возникла трудность, надеюсь, решаемая... Как раз подоспел вполне внятный обзор. |
| Re[2]: haskell + русский язык = ? | |
| От: | Курилка![]() | ||
| Дата: | 16.11.07 05:28 | ||
| Оценка: | +1 | ||
| Здравствуйте, awson, Вы писали: A>Здравствуйте, NotGonnaGetUs, Вы писали: NGG>>Возникла трудность, надеюсь, решаемая... A>Как раз подоспел вполне внятный обзор.
|
| Re[3]: haskell + русский язык = ? | |
| От: | awson![]() | ||
| Дата: | 16.11.07 06:08 |
| Здравствуйте, Курилка, Вы писали: К>
Действительно. Тогда просто здесь смотреть пост за 15 ноября — Survey: Haskell Unicode support. |
| Re[4]: haskell + русский язык = ? | |
| От: | Курилка![]() | ||
| Дата: | 16.11.07 06:19 |
| Здравствуйте, awson, Вы писали: A>Здравствуйте, Курилка, Вы писали: К>>
A>Действительно. Тогда просто здесь смотреть пост за 15 ноября — Survey: Haskell Unicode support. Дак ты сам-то нашёл? Или у тебя в кэше что-то застряло? Вот первая строчка блога: кто-то "почикал" тот пост |
| Re[5]: haskell + русский язык = ? | |
| От: | awson![]() | ||
| Дата: | 16.11.07 10:14 |
| Здравствуйте, Курилка, Вы писали: К>кто-то "почикал" тот пост Щас он есть, более того — снова заработала старая ссылка. |
| Re[6]: haskell + русский язык = ? | |
| От: | NotGonnaGetUs![]() | ||
| Дата: | 16.11.07 12:41 | ||
| Оценка: | ![]() | ||
| Здравствуйте, awson, Вы писали: A>Щас он есть, более того — снова заработала старая ссылка. Спасибо за ссылку... Попробовал вариант utf8-string. Насколько я понял, эта штука повзволяет выплюнуть в консоль строку в utf8. Поставил в консоле "chcp 65001" для того, чтобы она понимала utf8. При попытке выполнить:
получил такой output:
Очень любопытный результат Если загонять результат в файл, то можно потом его прочесть в интернет эксплорере или notepad++... Попозже попробую последний вариант. |
| Re: haskell + русский язык = ? | |
| От: | geniepro![]() | ||
| Дата: | 16.11.07 15:04 |
| Здравствуйте, NotGonnaGetUs, Вы писали: WinHUGS печатает русские буковки в кодировке ANSI... |
| Re[7]: haskell + русский язык = ? | |
| От: | _Eter_![]() | ||
| Дата: | 19.12.07 17:48 |
| NGG>получил такой output: NGG>
NGG>Очень любопытный результат NGG>Если загонять результат в файл, то можно потом его прочесть в интернет эксплорере или notepad++... NGG>Попозже попробую последний вариант. В Linux у меня получился правильный вывод:
PS: Gentoo x86_64, GHC 6.8.1 |
| Re[8]: haskell + русский язык = ? | |
| От: | NotGonnaGetUs![]() | ||
| Дата: | 20.12.07 10:45 |
| Здравствуйте, _Eter_, Вы писали: _E_>В Linux у меня получился правильный вывод: Охотно верю. В виндоус, к сожалению, консоль несколько бажная. Пробовал cygwin — но это просто обёртка над cmd и её багами. |
| Re: haskell + русский язык = ? | |
| От: | lant![]() | ||
| Дата: | 10.08.09 09:03 |
| Здравствуйте, NotGonnaGetUs, Вы писали: NGG>
NGG>Выводит в консоль фразу "\1055\1077\1090\1103" проблема решается так:
|
| Re[8]: haskell + русский язык = ? | |
| От: | Rtveliashvili Denys![]() | ||
| Дата: | 11.08.09 06:13 |
| _E_>В Linux у меня получился правильный вывод: _E_>
_E_>PS: Gentoo x86_64, GHC 6.8.1 Это просто потому что в Linux стандартная кодировка в консоли — UTF-8 (проверяется командой locale). В общем случае текст в консоль нужно выводить в кодировке этой самой консоли. Но самая передовая реализация Haskell (ghc) забила на это сами знаете что, так что прийдется корячиться и делать все вручную. Кстати, в этом плане hugs был лучше, если ничего не путаю. Тема, вообще-то избитая и больная. Но воз и ныне там. |
| Re: haskell + русский язык = ? | |
| От: | GreenTea![]() | ||
| Дата: | 30.01.10 16:12 |
| Здравствуйте, NotGonnaGetUs, Вы писали: NGG>Возникла трудность, надеюсь, решаемая... NGG>Сложная программа NGG>
NGG>Выводит в консоль фразу "\1055\1077\1090\1103" NGG>Я пользуюсь eclipse в качестве редактора кода и там выставлено UTF-8 в качестве 'text file encoding'. Без этого ghc вообще не собирает программу. NGG>Как сделать так, чтобы в консоле можно было писать русские слова? Может есть какая-то библиотека для этих целей... NGG>Поиски в гугль пока не дали результата. У меня Win 7. Помогло перекодирование в cp866:
*Test> rusPrint "Петя" Петя Чтобы это счастье заработало, пришлось скачать и установить эту либу |