Java и Unicode - PullRequest
       1

Java и Unicode

2 голосов
/ 19 августа 2011

У меня есть приложение, которое преобразует HTML в электронную таблицу Excel, используя Java.Есть некоторые символы, которые не отображаются правильно в Excel.Более чем вероятно проблема кодирования.Мне нужен способ конвертировать эти строки в Java в Unicode (UTF-16), чтобы они правильно отображались в Excel.

Ответы [ 2 ]

3 голосов
/ 19 августа 2011

Предполагая, что у вас есть содержимое в Java-приложении, вы должны убедиться, что вы пишете свой файл с правильной кодировкой.

Чтобы указать конкретную кодировку, вам нужно будет создать OutputStreamWriter:

Writer out = new BufferedWriter(
                 new OutputStreamWriter(
                     new FileOutputStream(file), "UTF-16"));
2 голосов
/ 19 августа 2011

Похоже, String.getBytes(Charset charset) - это метод, который вы ищете. Это позволяет вам преобразовать строку в байтовый массив с заданной кодировкой. (В отличие от String.getBytes(), который использует кодировку по умолчанию)

Ваш код может быть таким:

byte[] myOutput = myString.getBytes(CharsetProvider.charsetForName("UTF-16"));

Подробнее см. Javadocs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...