Как настроить EC2 для обработки смайликов в моем весеннем загрузочном приложении - PullRequest
0 голосов
/ 04 марта 2020

В настоящее время я пытаюсь запустить бота Telegram на EC2-экземпляре .

Но проблема в том, что все не английские символы sh заменены. На скриншоте вы можете увидеть, как смайлики заменяют (например, перед словом «Настройки») или как русское слово полностью запутано.

Telegram screenshot

Что у меня есть пока пробовал:

  1. Выполнить java с аргументами:
java -Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US -jar
Задать локаль в application.properties
spring.mandatory-file-encoding=UTF-8

spring.http.encoding.charset=UTF-8

spring.http.encoding.enabled=true
Установить / etc / environment locale
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
LANG=en_US.utf-8
LC_ALL=en_US.utf-8

Обратите внимание: Мои текстовые значения сообщений / кнопок хранятся в соответствующих языковых пакетах в приложении Ресурсы. И учитывая, что бот все еще работает (он распознает ценность сообщения, которое он получает, даже если он испорчен), я предполагаю, что он как-то связан с приложением java.

PS Когда я запускаю его локально - он отлично работает.

Любая помощь будет высоко оценена!

1 Ответ

0 голосов
/ 04 марта 2020

После множества ответов и попыток вот мое решение:

Поскольку мои текстовые значения хранятся в пакетах .properties, Standard Java API is designed to use ISO 8859-1 encoding for properties files.

https://www.jetbrains.com/help/idea/properties-files.html#

Поэтому перед выполнением 'mvn clean package' я вручную расшифровал свои файлы свойств с помощью

native2ascii -encooding UTF-8 src / main / resources / messages_en.properties src / main / resources /messages_en.properties

Надеюсь, это поможет.

Если у кого-то есть лучшее решение - пожалуйста, дайте мне знать.

...