powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с кодировкой
16 сообщений из 16, страница 1 из 1
Проблема с кодировкой
    #38223122
hello_amigo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Есть у меня некая строка (получаю название алиаса сертификата из Windows-MY Keystore). Вывожу эту строку через System.out.println в консоль. Отображается как "certificate îò CA". Я знаю, что "îò" - это "от", т.к. могу посмотреть информацию о сертификате через IE и там корректно отображается алиас.
На сколько я понимаю, то при выводе в консоль строка отображается как UTF-8.
Пробовал делать так:
Код: java
1.
System.out.println(new String(alias.getBytes("UTF-8"), "Windows-1251")); // теперь "îò"


Есть предположения как это сделать правильно?
Спасибо!
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223155
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше покажите как вы эту строку читаете. Попытка исправить кодировку это полумеры.
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223162
silvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надо знать кодировку файла и консоли
iso-8859-1, cp866..
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223165
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
silvanнадо знать кодировку файла и консоли
iso-8859-1, cp866..
Консоли не надо. Java справится и без этого. Строка была в какой-то оригинальной кодировке. Её вычитали в другой. Чтобы получить изначальное значение, нужто использовать те же две кодировки. К консольному выводу это отношения не имеет.
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223170
hello_amigo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import java.security.KeyStore;
import java.util.Enumeration;

public class TestEncoding {
    public static void main(String[] args) throws Exception{
        KeyStore ks = KeyStore.getInstance("Windows-MY");
        ks.load(null, null);
        Enumeration<String> aliases = ks.aliases();
        
        while (aliases.hasMoreElements()) {
            String alias = aliases.nextElement();
            System.out.println("alias: " + alias);
        }
    }
}


В одном из алиасов (там где русское "от") вижу кракозяблу (
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223179
hello_amigo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
        String text = "&#238;&#242;";
        Set<String> keySet = Charset.availableCharsets().keySet();
        for (String key : keySet) {
            System.out.println("From UTF-8 to " + key + ": " + new String(text.getBytes("UTF-8"), key));
        }


Втупую перебором не вышло.
Пробую вот на этом сайте http://2cyr.com/decode/?lang=ru раскодировать. Там выходит. Теперь нужно понять как правильно преобразовать.
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223180
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовали запускать приложение с -Dfile.encoding=utf-8 ?
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223190
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это iso-8859-1 и win-1251
Используйте их в вашем
System.out.println(new String(alias.getBytes("UTF-8"), "Windows-1251"));
точные имена сверяйте в
http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223200
hello_amigo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, мега спасибо!!! Работает! Можете в двух словах сказать как Вы к этому пришли?
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223216
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hello_amigoBlazkowicz, мега спасибо!!! Работает! Можете в двух словах сказать как Вы к этому пришли?
2cyr.com пишет какие кодировки были использованы при восстановлении строки. Я выбрал самые популярные из них
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223286
hello_amigo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, а можете рассказать, что Вы там нажимали? А то что-то я в упор не пойму как вы пришли к списку кодировок, которые были использованы.
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223337
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hello_amigoBlazkowicz, а можете рассказать, что Вы там нажимали? А то что-то я в упор не пойму как вы пришли к списку кодировок, которые были использованы.
Открываем страницу.
Вводим испорченый текст.
Нажимаем ОК на автоматическом подборе.
Появляется желтая строка с красной надписью "Выберите вариант : "
Открываем список, находим "от", нажимаем OK
В "Расширенный режим" отображаются пары использованых кодировок.
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38223356
hello_amigo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, всё, вижу. Спасибо!
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38224088
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczэто iso-8859-1 и win-1251
Используйте их в вашем
System.out.println(new String(alias.getBytes("UTF-8"), "Windows-1251"));
точные имена сверяйте в
http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html

Точные имена есть в StandardCharsets из jdk 7 как статические поля класса

StandartCharrsets.UTF-8
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38224091
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingТочные имена есть в StandardCharsets из jdk 7 как статические поля класса
StandartCharrsets.UTF-8
Это не "имена". Они там не все. Открой одно и другое и сравни количество.
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #38224140
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут вы правы, да там не все кодировки.
Да там не имена, но можно
StandardCharsets.UTF-8.toString() или displayName по желанию

Мне UTF-8, ISO-Latin хватает.
jsp странички в utf8, а post parameters tomcat в ISO Latin всегда берет.

хотя работает если кодировку задавать как String

главное что странно 'windows-1251' и 'cp1251' работают одинаково хорошо, только
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с кодировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]