02 авг 2007 18:28 | |
Сообщения:14 | В чем может заключаться проблема с кодировкой русских букв при компилляции файла java |
02 авг 2007 19:25 | |
Сообщения:1165 | Ionhi: В чем может заключаться проблема с кодировкой русских букв при компилляции файла java[/b] http://www.javatalks.ru/ftopic276.php The meaning of life, universe and everything is 42! |
02 авг 2007 19:37 | |
Сообщения:14 | ссылка не та.. Текст программы: class Test { public static void main (String s []) { System.out.println ("Привет"); } При компиляции и запуске выдает каракули |
02 авг 2007 19:57 | |
Сообщения:1165 | каракули или ? есть 3 варианта 1. вы сохранили ваш файл в не русской кодировке или не в UTF-8. 2. кодировка в вашем JVM неправильно установлена 3. ваша система не поддерживает русский если выдаются знаки ? - значит проблемма либо 1,2 если выдаются каракули - значит 2,3 как справляться наилучшим образом с этой проблеммой указанно по ссылке выше. The meaning of life, universe and everything is 42! |
03 авг 2007 12:21 | |
Сообщения:1184 | Попробуйте перенаправить поток вывода в файл и посмотрите, что из этого выйдет: java Test >result.txt Не знала Настя, где зад, где перёд. Показали - разобралась. |
03 авг 2007 15:33 | |
Сообщения:40 | У меня тоже такая фигня была, когда я в far набивал код. Тама по F8 кодировка меняется. |
03 авг 2007 16:09 | |
Сообщения:3874 | import java.io.OutputStreamWriter; import java.io.PrintWriter; public class WriteToWindowsConsoleExample { public static void main(String[] args) { try { PrintWriter rusOut = new PrintWriter(new OutputStreamWriter(System.out, "CP866"), true); rusOut.println("Привет!"); } catch ( Exception ex ) { ex.printStackTrace(); } } } |
03 авг 2007 16:34 | |
Сообщения:14 | Запустила программу, на Консоли русские буквы! т.е. теперь чтобы вывести на консоль русские буквы надо создавать класс PrintWriter? Возможны ли какие системные настройки помеять, прописать? |
03 авг 2007 16:52 | |
Сообщения:3874 | Ключевое слово тут "CP866". В примере устанавливается кодировка, в которой винда выводит символы в консоль. По дефолту, Java использует кодировку UTF-8, а мы просто меняем кодировку вывода. Ionhi: Возможны ли какие системные настройки помеять, прописать? Может и можно. Посмотрите System.getProperties(). |
04 сен 2007 18:31 | |
Сообщения:13 | А я, знаю способ проще, хотя кому как. Итак, всё дело в том, что cmd (в ней-то всё и дело) использует кодировку MS-DOS. По этому, берём WordPad, вписываем туда русское сообщение (не програмный код, а только то, что выводим в консоль!), жмём сохранить как текстовый документ MS-DOS (имя надо прописать с расширением *.txt, иначе всё сохранится в *.rtf). Полученый документ открываем всё тем же WordPad'ом. На этот раз там будут крякозябры. Копируем их и переносим в программу: System.out.println("крякозябры из WordPad'а"); Вот и всё! |
04 сен 2007 18:50 | |
Сообщения:1960 | goshik: ... По этому, берём WordPad, вписываем туда русское сообщение (не програмный код, а только то, что выводим в консоль!), жмём сохранить как текстовый документ MS-DOS ... Пример как делать не надо. :lol: |
04 сен 2007 19:55 | |
Сообщения:1960 | goshik: шкипер: Пример как делать не надо. :lol: Это почему? Представь, что у тебя приложения на несколько тыщ строк кода, ты точно так же будешь открывать/сохранять/закрывать? Надо с самого начала учится правильному подходу к решению проблем, е не созданию костылей - потом не прийдется переучиваться. К тому же даже на ламерском уровне что проще - реализовать простенькую обертку в три строки для вывода в консоль с другой кодировкой или перелопачивание кучи строк кода с открытием/сохранением/закрытием WordPad'а? |