Чтение данных столбца JSON в C# дает неправильную кодировку - PullRequest
0 голосов
/ 20 января 2020

У меня проблемы с чтением 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, чтобы избежать каких-либо проблем.

...