Создайте файл, используя Cp1250 в Java
Я пытаюсь создать файл, используя набор символов Cp1250:
out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("/path/filename"), Charset.forName("Cp1250")));
Тем не менее, когда я обнаруживаю фактическую кодировку с помощью juniversalchardet, он говорит WINDOWS-1252, который является Cp1252 (согласно javadoc).
Энка (enca -L czech -g filename
) обнаруживает ISO-8859-2.
Как я могу установить точно Cp1250 (или, используя имя API java.nio, windows-1250)?
Спасибо
Карел
1 ответ
Любая программа обнаружения кодирования может быть эвристической, только когда дело доходит до кодировок, которые в основном действительны для всех файлов (например, те, которые всегда имеют один байт на символ и имеют символ, сопоставленный с каждым байтом).
Вы должны закодировать некоторый текст, который, как вы знаете, может привести к различным результатам в Windows-1250 и Windows-1252, и посмотреть, что на самом деле делает ваш код. Я подозреваю, что вы обнаружите, что на самом деле все правильно.