Шведские символы не могут быть правильно сохранены в базе данных MySQL

У меня есть отдельная программа Java, которая открывает текстовый файл в режиме UTF-8 и читает каждую строку в файле, содержащую шведские символы, такие как å, ä, ö . Текстовый файл был сохранен в режиме utf-8. Программа Java печатает то, что она читает из файла, в стандартный вывод, и я проверил, что программа может правильно читать и печатать эти специальные символы. Затем программа сохраняет эти данные, считанные из файла, в базу данных Mysql 5.5 с параметрами сортировки по умолчанию utf-8, используя соединение JDBC.

Тем не менее, когда программа вставляет эти текстовые данные со шведскими символами в базу данных mysql, специальные символы заменяются странными черными символами, которые не читаются. Если вместо этого я изменю параметры сортировки базы данных на latin1, все эти специальные символы будут удалены сервером MySQL. Я погуглил эту проблему и нашел предложения, связанные с использованием вариантов utf-8 и latin1 в качестве сопоставления базы данных по умолчанию, но ни одно из них, похоже, не помогло мне до сих пор.

Интересно, есть ли у кого-нибудь аналогичная проблема с размещением шведских символов в базе данных mysql? Если да, не могли бы вы сказать мне, какой тип сопоставления и кодировку я должен использовать, чтобы правильно использовать шведские символы в базе данных. Нужно ли мне делать определенные настройки в соединении с базой данных JDBC, чтобы эти письма сохранялись правильно? Возможно, проблема больше связана с java, но я визуально убедился, что моя java-программа может правильно читать/печатать эти символы. Спасибо.


person F. Aydemir    schedule 25.01.2013    source источник