С какими параметрами вызывается функция userTitle и откуда эти параметры берутся?
По характеру крякозябр выглядит так, будто текст в utf-8, но интерпретируется, как однобайтовая латинская кодировка.
Может быть, кэш (как кэш браузера, так и кэш DNS). Дополнительно рекомендую в браузере включить режим HTTPS-only (прозрачно для браузера подделать HTTPS-трафик провайдер не сможет, только разорвать соединение или попытаться всунуть левый сертификат).
Не совсем понятно, в каком виде вы пытаетесь отправить запрос, т.к. тело составляете в application/x-www-form-urlencoded, а обозначаете dataType: 'JSON'. Определитесь. А если всё же в urlencoded хотите, то закодируйте userData через encodeURIComponent помимо JSON.stringify
Если контейнеры за nginx на той же машине - то сертификаты нужны только nginx. Потому как шифровать трафик между nginx и контейнерами от самого себя нет никакого смысла.
Может быть, в текущем sql_mode двойные кавычки воспринимаются, как имя столбца, а ошибки игнорируются, в итоге запрос UPDATE просто молча прожовуется и не выполняется? Если заменить на одинарные вокруг пробела, то что?