Я пытаюсь прочитать из базы данных оракула, которая хранит данные в кодировке Windows-1252. Я читаю эти данные с помощью jdbc и записываю в xml-файл с кодировкой UTF-8.
при записи в эти файлы я получаю '?' символы вместо латинских символов, например. вместо í я получаю ?
«Coquí» записывается в XML как «Coqu?»
Я использую этот файл для загрузки в solr позже. Я разместил здесь только соответствующий код, а не весь код, поскольку это длинный метод (устаревший код, который я унаследовал), который сложен.
BufferedWriter result = new BufferedWriter(new FileWriter(OUTPUT_FILE));
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rst = stmt.executeQuery(sql);
if (rst.getFetchSize() < 1)
return;
rst.beforeFirst();
while (rst.next()) {
Profile p = new Profile();
p.business_name = rst.getString("business_name");
p.business_name_sort = rst.getString("business_name_sort");
result.write(p.business_name;
result.write(p.business_name_sort);
}