2013-12-23 2 views
1

У меня есть следующая простая программа, которая печатает слово IPA ˈabsəluːt [1]. К сожалению, выполнение этой программы с помощью mvn:exec печатает слово как ?abs?lu?t [2]. Как заставить его правильно печатать, т. Е. Как в [1]?Как печатать символы IPA с помощью mvn: exec?

package dp4j.encodingtest; 

public class App { 

    public static void main(String[] args) { 
     String s = "ˈabsəluːt"; 
     System.out.println(s); 
     FileUtils.writeStringToFile(new File("s.txt"), s); 
    } 
} 

mvn exec:exec Команда:

mvn "-Dexec.args=-classpath %classpath dp4j.encodingtest.App" 
-Dexec.executable=C:\\jdk1.7.0_25\\bin\\java.exe exec:exec 

Даже печать слово в файл s.txt не печатает это неправильно, как и в [2].

+0

Печатает ли это элемент управления в окне или на консоли? –

+0

на консоль: http://screencast.com/t/IKely5Etyw – simpatico

+0

Возможно, это ваша проблема. Консоль не всегда хорошо работает с юникодом или расширенными наборами символов. –

ответ

1

Проблема с приложением, где это слово отображается/печатается, в данном случае, консоль. Ничего нельзя сделать из java/maven, кроме того, чтобы ваша кодировка исходного кода Java была UTF-8 (в качестве строкового литерала).

Если вы используете его из среды IDE, попробуйте изменить шрифт консоли из параметров/предпочтений IDE на «Lucida Sans», так как этот шрифт имеет частичную поддержку расширений IPA или некоторых других доступных шрифтов с поддержкой IPA.

Смежные вопросы