Java: проблема с греческими именами файлов (нелатинские имена файлов) - PullRequest
0 голосов
/ 20 августа 2009

Использование Java: Я читаю каталог, содержащий файлы с греческими именами. Но когда я вывожу строку, содержащую имя файла, я получаю «???????. Что-то».

Это потому, что я запускаю Java-приложение. через консоль?

Есть ли способ правильно прочитать нелатинские имена файлов?

Спасибо

Ответы [ 3 ]

2 голосов
/ 20 августа 2009

Он вполне может правильно читать имена файлов; наиболее вероятное объяснение состоит в том, что ваша консоль не может отображать нелатинские символы.

Например, следующая программа должна распечатать первые три буквы греческого алфавита:



public class AlphaBetaGamma
{
    public static void main(String[] args)
    {
        String abc = "\u03b1\u03b2\u03b3";
        System.out.println(abc);
    }
}

Распечатывает "???" на моей консоли, потому что он не способен отображать греческие символы.

1 голос
/ 20 августа 2009

измените консоль на использование utf-8 в качестве кодировки символов - это должно решить эту проблему

0 голосов
/ 20 августа 2009

Чтобы добавить к тому, что написал simonn, стоит записать кодовые точки Unicode примерно так:

public static void dumpString(String text)
{
    for (int i=0; i < text.length(); i++)
    {
        char c = text.charAt(i);
        System.out.printf("%c U+%04x", c, (int) c);
        System.out.println();
    }
}

Затем вы можете заглянуть на веб-сайт Unicode , чтобы узнать, что эти символы действительно означают. (Страница Кодовых таблиц очень удобна.)

...