вместо русских букв вопросики ????

 
 
 
Сообщения:14
В чем может заключаться проблема с кодировкой русских букв при компилляции файла java
 
 
Сообщения:1165
Ionhi:
В чем может заключаться проблема с кодировкой русских букв при компилляции файла java[/b]


http://www.javatalks.ru/ftopic276.php

The meaning of life, universe and everything is 42!
 
 
Сообщения:14
ссылка не та..
Текст программы:
class Test {
public static void main (String s []) {
System.out.println ("Привет");
}

При компиляции и запуске выдает каракули
 
 
Сообщения:3874
Ссылка именно та.
 
 
Сообщения:1165
каракули или ?
есть 3 варианта
1. вы сохранили ваш файл в не русской кодировке или не в UTF-8.
2. кодировка в вашем JVM неправильно установлена
3. ваша система не поддерживает русский

если выдаются знаки ? - значит проблемма либо 1,2
если выдаются каракули - значит 2,3

как справляться наилучшим образом с этой проблеммой указанно по ссылке выше.

The meaning of life, universe and everything is 42!
 
 
Сообщения:1184
Попробуйте перенаправить поток вывода в файл и посмотрите, что из этого выйдет:
java Test >result.txt

Не знала Настя, где зад, где перёд. Показали - разобралась.
 
 
Сообщения:14
В файле русские буквы выдает, все ок. На консоли каракули
 
 
Сообщения:40
У меня тоже такая фигня была, когда я в far набивал код. Тама по F8 кодировка меняется.
 
 
Сообщения: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();
       }
    }

}
 
 
Сообщения:14
Запустила программу, на Консоли русские буквы!

т.е. теперь чтобы вывести на консоль русские буквы надо создавать класс PrintWriter?

Возможны ли какие системные настройки помеять, прописать?
 
 
Сообщения:3874
Ключевое слово тут "CP866". В примере устанавливается кодировка, в которой винда выводит символы в консоль. По дефолту, Java использует кодировку UTF-8, а мы просто меняем кодировку вывода.

Ionhi:
Возможны ли какие системные настройки помеять, прописать?


Может и можно. Посмотрите System.getProperties().
 
 
Сообщения:13
А я, знаю способ проще, хотя кому как. Итак, всё дело в том, что cmd (в ней-то всё и дело) использует кодировку MS-DOS. По этому, берём WordPad, вписываем туда русское сообщение (не програмный код, а только то, что выводим в консоль!), жмём сохранить как текстовый документ MS-DOS (имя надо прописать с расширением *.txt, иначе всё сохранится в *.rtf). Полученый документ открываем всё тем же WordPad'ом. На этот раз там будут крякозябры. Копируем их и переносим в программу:
System.out.println("крякозябры из WordPad'а");
Вот и всё!
 
 
Сообщения:1960
goshik:
... По этому, берём WordPad, вписываем туда русское сообщение (не програмный код, а только то, что выводим в консоль!), жмём сохранить как текстовый документ MS-DOS ...

Пример как делать не надо. :lol:


aka ur6lad
 
 
Сообщения:13
шкипер:

Пример как делать не надо. :lol:

Это почему?
 
 
Сообщения:1960
goshik:
шкипер:

Пример как делать не надо. :lol:

Это почему?

Представь, что у тебя приложения на несколько тыщ строк кода, ты точно так же будешь открывать/сохранять/закрывать?

Надо с самого начала учится правильному подходу к решению проблем, е не созданию костылей - потом не прийдется переучиваться. К тому же даже на ламерском уровне что проще - реализовать простенькую обертку в три строки для вывода в консоль с другой кодировкой или перелопачивание кучи строк кода с открытием/сохранением/закрытием WordPad'а?


aka ur6lad
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет