У меня проблемы с чтением JSON данных из базы данных AWS Aurora (MySql совместимых) с использованием MySql .Data. Я вставляю в таблицу в базе данных следующее:
Title = "æøå"
Content = "{ \"data\" : \"æøå\" }",
Заголовок хранится в столбце varchar, а Content - в столбце JSON. Читая строку, я получаю:
æøå
{ "data": "æøå" }
Если я приведу столбец JSON к varchar во время поиска, я получу правильную кодировку:
> select title, cast(content as char) as content from my_table;
æøå
{ "data": "æøå" }
Я не знать, может ли это быть связано с ошибкой, сообщенной в: https://bugs.mysql.com/bug.php?id=89290, которая говорит, что «я могу воспроизвести это, если mysqld запущен с --character-set-server = latin1». Сама база данных была создана с помощью
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
Я предполагаю, что это ошибка MySql .Data, хотя MySql Workbench показывает правильную кодировку при просмотре данных. Я протестировал оба MySql .Данные 6.10.9 и 8.0.19.
Кто-нибудь еще получил эту работу? Я рассматриваю возможность переключения столбца на MEDIUMTEXT, чтобы избежать каких-либо проблем.