Сохранение неанглийского языка в MySQL показывает ????? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь сохранить некоторое содержимое на индийском языке (читай хинди) с веб-сайта в столбце базы данных MySQL.Я использую SpringBoot и JPA для очистки веб-сайта и написания контента.

Все отлично работает в моей локальной системе (OSX).Тот же код развернут на Ubuntu 16.04 LTS.Он работает нормально, за исключением того, что содержимое соответствующего столбца БД показывает «????».Я предположил, что это может быть проблема с COLLATION и CHARACTER SET MySQL экземпляра prod.

Действительно, версия MYSQL на моей локальной машине была 8.x.COLLATION на локальной базе данных был utf8mb4_0900_ai_ci.Версия на prod была 5.6, COLLATION - utf8_x_x.По-видимому, utf8mb4_0900_ai_ci недоступен для версий до 8.x.

Я попытался изменить COLLATION столбцов (всей схемы) на локальном компьютере на utf8mb4_general_ci, а также utf8mb4_unicode_ci.Оба прекрасно работают на локальной БД.Но то же самое сопоставление, а именно utf8mb4_general_ci & utf8mb4_unicode_ci по-прежнему дает «?????»в среде prod!

Может ли это быть проблемой, отличной от 'COLLATION'?Я могу напечатать содержимое хинди на терминале, как на локальном, так и на Ubuntu.Проблема менее вероятна с клиентом, так как тот же клиент (Datagrip) хорошо показывает содержимое локальной схемы и содержимое базы данных Ubuntu в виде загадочных вопросительных знаков.

Погуглил два дня.Любая помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...