gpt4 book ai didi

java - 如何配置 EC2 以在我的 Spring Boot 应用程序中处理表情符号

转载 作者:行者123 更新时间:2023-12-01 18:07:53 25 4
gpt4 key购买 nike

我目前正在尝试在 EC2 实例上运行 Telegram 机器人。

但问题是 - 所有非英文符号都被替换。在屏幕截图上,您可以看到表情符号是如何替换的(例如在“设置”一词之前)或者说俄语单词是多么困惑。

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 区域设置
  • JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
    LANG=en_US.utf-8
    LC_ALL=en_US.utf-8

    请注意:我的消息/按钮文本值存储在应用资源中适当的区域设置包中。考虑到机器人仍然可以工作(他认识到他收到的消息的值(value),即使它是困惑的),我认为它与 java 应用程序有关。

    附注当我在本地运行它时 - 它工作得很好。

    任何帮助将不胜感激!

    最佳答案

    经过大量的回答和尝试,这是我的解决方案:

    由于我的文本值存储在 .properties 包中,标准 Java API 设计为对属性文件使用 ISO 8859-1 编码。

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

    因此,在执行“mvn clean package”之前,我使用以下命令手动解码了我的属性文件

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

    希望有帮助。

    如果有人有更好的解决方案 - 请告诉我。

    关于java - 如何配置 EC2 以在我的 Spring Boot 应用程序中处理表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60526420/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com