Проблема набора символов при вставке в базу данных MySQL из Java-приложения

0

Я написал приложение, которое анализирует html-код некоторых веб-страниц. Моя проблема заключается в вставке этих данных в мою базу данных mysq. Так, например, я хочу вставить ľščťžýáíé и когда я загляну в таблицу, которую я получаю? Š žýáíé.

Я думаю, проблема может заключаться в том, что загружаемые html-страницы, которые я загружаю, закодированы в cp1250. но база данных - utf8.

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),"cp1250"));

и вот как я загружаю данные.

Есть ли у вас идеи по устранению этой проблемы? Потому что у меня все закончилось.

Изменить: oh и когда я пишу данные на консоль (с System.out, я знаю, что я не должен ее использовать...:)), тогда каждый символ отображается правильно.

  • 0
    как ты смотришь в таблицу? Убедитесь, что программа, которую вы используете, чтобы увидеть, что находится в БД, имеет набор символов, установленный в utf-8
  • 0
    я использую phpmyadmin, и я почти уверен, что он поддерживает utf8, но у меня есть подозрение, что при вставке возникает какая-то ошибка ... например, мое java-приложение не конвертирует эти символы должным образом или соединение неправильно настроено, и я не могу понять что с этим не так.
Теги:
character-encoding

2 ответа

0
Лучший ответ

Итак, я узнал, что работает.

Когда я подключаюсь через JDBC к MySQL, я использовал следующую строку подключения

conString = "jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=utf8";

И это сделал трюк. Мне пришлось заставить JDBC использовать utf8 для соединения с помощью ?useUnicode=true&characterEncoding=utf8

0

выпустите set names CP1251; сразу после вашего подключения к mysql и перед любыми вставками

  • 0
    пробовал, но некоторые персонажи не отображаются правильно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню