«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как записать строки UTF-8 в MySQL с помощью JDBC без проблем с кодировкой символов?

Как записать строки UTF-8 в MySQL с помощью JDBC без проблем с кодировкой символов?

Опубликовано 8 ноября 2024 г.
Просматривать:683

How to Write UTF-8 Strings into MySQL Using JDBC Without Character Encoding Issues?

Как правильно записывать строки UTF-8 в MySQL через интерфейс JDBC

Конфигурация MySQL имеет решающее значение для правильной обработки кодировки символов UTF-8. Убедитесь, что сервер и клиент MySQL настроены правильно, чтобы избежать искажения символов.

Обеспечение правильной конфигурации

Чтобы проверить конфигурацию MySQL, выполните следующие команды:

show variables like 'character%';
show variables like 'collation%';

Модификации конфигурации

Для версий MySQL 5.1.nn и более поздних (включая 5.5.29):

[mysqld]
character-set-server = utf8
character-set-filesystem = utf8

Для версий MySQL 5.0.nn и старше:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8

Подключение к MySQL с помощью Java

Установите соединение с MySQL в вашем Java-коде, используя драйвер JDBC и явно указав кодировку символов:

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");

Дополнительные советы

  • Используйте кодировку UTF-8 во всей программе, включая запросы к базе данных, наборы результатов и строковые литералы.
  • Рассмотрите возможность использования Библиотека-оболочка JDBC, которая автоматически обрабатывает кодировку символов, например Spring JDBC.
  • Проверьте, что таблицы и столбцы базы данных созданы с правильным набором символов и параметрами сортировки.
  • В вашем конкретном случае удалите явная настройка набора символов (query = "set символов set utf8";), возможно, решила проблему, поскольку могла вызвать конфликт.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3