В Java я создаю файл с символами Unicode.Unicode работает в Windows, но не Red Hat Linux: Java
Когда я запускаю свою программу в Windows (Jboss) и открываю файл (CSV). Он прекрасно отображает символы Unicode (норвежский и исландский) в excel.
Но когда я развертываю то же самое на сервере внутри Red Hat Linux (в Jboss той же версии), запустите программу, сгенерируйте файл и загрузите, и когда я увижу это в excel, то это искажает все символы Unicode.
Не могли бы вы предложить любую локальную настройку Linux, из-за которой Unicode искажает? или где требуется изменение?
FileWriter writer = new FileWriter(fileName);
writer.append(new String(data.toString().getBytes("UTF-8"),"UTF-8"));
writer.flush();
writer.close();
//data is StringBuilder type
Я также попытался ISO8859_1
Update 1
Я проверил система кодирования: с помощью System.getProperty ("file.encoding") и обнаружили, что
окон Cp1252 и Linux - UTF-8
Обновление 2
При печати в Linux с помощью:
log.info(new String(data.toString().getBytes("UTF-8"), "UTF-8"));
он показывает все выходные прекрасно, но когда я положил его в FileWriter с расширением filename.csv, он правильно не отображается.
Вы используете шрифт unicode в своей системе linux? – ControlAltDel
Я просто упоминаю UTF-8 в программе, как указано выше. при создании файла с использованием Java Coding. Тот же код отлично работает в Windows, но не в Linux? – fatherazrael