Поддержка UTF-8 в JDBC соединении к MySQL

218
24 марта 2017, 23:40

При записи в базу данных строк, содержащих кириллицу, отображаются знаки неверной кодировки:

var connection = Jdbc.getConnection("jdbc:mysql://...", "...", "...");
var stmt = connection.createStatement().execute("INSERT INTO test (Nam, Fam, Rost, HB) values ('Иван','Петрович', '200', '2000-02-02')");

На изображении выше показаны записи, созданные через phpAdmin (первые три) и через Google Apps Script (последняя).

Текущая кодировка varchar (utf8_general_ci).

Использование префикса N для совместимости кодировок результатов не даёт.

Используемый код:

var stmt = connection.createStatement()
  .execute("INSERT INTO\
            test (Nam, Fam, Rost, HB)\
            values (N'Иван',N'Петрович', '200', '2000-02-02')");
Answer 1

Вы можете попробовать использовать дополнительные параметры в строке подключения

jdbc:mysql://host:port/instance?useUnicode=true&characterEncoding=UTF-8
READ ALSO
Ошибки на slave, как реагировать?

Ошибки на slave, как реагировать?

Связка master-slave master ( 101

404
Не получается подключиться к mysql в golang

Не получается подключиться к mysql в golang

Как правильно задавать настройки подключения к БД? Параметры настроек правильные, подключался через терминалНа странице выводит только:...

434
Создание слайдера - Java

Создание слайдера - Java

Посоветуйте плагин или как создавать слайдер изображение на языке JavaНеобходим слайдер из 5-6 картинок,

257