Я написал приложение, которое анализирует html-код некоторых веб-страниц. Моя проблема заключается в вставке этих данных в мою базу данных mysq. Так, например, я хочу вставить ľščťžýáíé и когда я загляну в таблицу, которую я получаю? Š žýáíé.
Я думаю, проблема может заключаться в том, что загружаемые html-страницы, которые я загружаю, закодированы в cp1250. но база данных - utf8.
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),"cp1250"));
и вот как я загружаю данные.
Есть ли у вас идеи по устранению этой проблемы? Потому что у меня все закончилось.
Изменить: oh и когда я пишу данные на консоль (с System.out, я знаю, что я не должен ее использовать...:)), тогда каждый символ отображается правильно.
Итак, я узнал, что работает.
Когда я подключаюсь через JDBC к MySQL, я использовал следующую строку подключения
conString = "jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=utf8";
И это сделал трюк. Мне пришлось заставить JDBC использовать utf8 для соединения с помощью ?useUnicode=true&characterEncoding=utf8
выпустите set names CP1251;
сразу после вашего подключения к mysql и перед любыми вставками