为Java指定默认字符集编码

为Java指定默认字符集编码,java,linux,spring,tomcat,jvm,Java,Linux,Spring,Tomcat,Jvm,我希望我的Spring Boot应用程序使用默认的字符集CP866。因此,在Tomcat启动期间,我在环境变量中添加了以下内容: JAVA_TOOL_OPTIONS=-Dfile.encoding=CP866 尽管如此,似乎更改没有生效,应用程序没有使用CP866作为默认字符集。 另外,当我看到使用Java-XshowSettings的Java属性时,它仍然显示:file.encoding=UTF-8 如果您对如何实现这一改变有任何想法,请与我们分享 注意:从新服务器迁移后,在我的应用程序中,

我希望我的Spring Boot应用程序使用默认的字符集
CP866
。因此,在Tomcat启动期间,我在环境变量中添加了以下内容:

JAVA_TOOL_OPTIONS=-Dfile.encoding=CP866
尽管如此,似乎更改没有生效,应用程序没有使用
CP866
作为默认字符集。 另外,当我看到使用
Java-XshowSettings
的Java属性时,它仍然显示:
file.encoding=UTF-8

如果您对如何实现这一改变有任何想法,请与我们分享

注意:从新服务器迁移后,在我的应用程序中,图像/照片更新功能无法正常工作。我感觉这是因为新系统的编码问题。在以前的服务器中,file.encoding是
CP866
。 我不喜欢对新服务器进行任何代码更改


提前感谢。

您使用的是Spring Boot嵌入式还是独立的Tomcat服务器?如何部署/启动应用程序?这也可能对您有用:我正在使用Tomcat。我使用Tomcat manager将应用程序部署为WAR文件。我在Tomcat启动脚本中尝试了JAVA_选项和JAVA_工具选项。但是,没有任何帮助。请检查以下内容:1。停止Tomcat 2。在控制台中定义环境变量:
export JAVA_OPTS=-Dfile.encoding=CP866
3。启动Tomcat 4。验证在Tomcat启动期间应用了编码配置
ps-ef | grep Tomcat | grep文件。编码
应该有如下输出:/usr/local/java/bin/java-Dfile.encoding=CP866-Djava.io.tmpdir=/home/ilya/Downloads/apache-tomcat-8.5.50/temp org.apache.catalina.startup.Bootstrap start如果您在输出中看到-Dfile.encoding=CP866,现在您可以部署您的应用程序了。如果您能分享如何启动Tomcat(通过
Tomcat/bin/startup.sh
?不是从IDE?)和您的配置脚本,您可以在其中放置
JAVA\u OPTS=…
行。