встраивание предпочтительной инструкции кодирования в Java-программу - PullRequest
0 голосов
/ 19 июля 2011

моя проблема продолжается отсюда utf-8 как вывод . В настоящее время я использую:

PrintWriter bout = new java.io.PrintWriter(filename,"UTF-8");

и он все еще не работает. Как @dacwe предложил, я использовал командную строку с

-Dfile.encoding=UTF-8

, чтобы выполнить мой файл .jar, и он заработал, где был создан желаемый вывод файла utf-8 (без проблем с алфавитами). Так что я думаю, что это обходной путь, например, как eclipse.exe работает с файлом .ini в каталоге eclipse.can я обертываю свою программу Java в exe и у меня есть программа для включения INI-файла, или кто-то может предложить какую-нибудь реальную идею - моя программа читает CSV-файл (из opencsv) и выводит его как текст в формате UTF-8.

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Из этого вопроса: Разобрать файл CSV, содержащий символ Unicode, используя OpenCSV

Вы должны использовать CSVReader следующим образом:

CSVReader reader=new CSVReader(
    new InputStreamReader(new FileInputStream("d:\\a.csv"), "UTF-8"), 
    ',', '\'', 1);

И вам не нужно устанавливать какие-либо свойства среды, такие как file.encoding или что-либо еще.

1 голос
/ 19 июля 2011

Используйте сценарий оболочки или командный файл для передачи параметров JVM.

Пример сценария оболочки

#!/bin/sh
java -jar yourJar.jar -Dfile.encoding=UTF-8 "$@"

Для пакетных файлов Windows посмотрите http://www.computerhope.com/batch.htm

...