如何在AWS Elastic Beanstalk上设置编码?

时间:2018-10-22 20:34:17

标签: java amazon-web-services utf-8 amazon-elastic-beanstalk

我有一个运行在AWS Elastic Beanstalk上的Java应用程序,该应用程序正在从网站上的InputStream中读取内容并将某些内容上传到我的FTP。已下载的某些数据是UTF-8,很遗憾,本地编码是ANSI_X3.4-1968。有设置编码的方法吗?我尝试在InputStream中指定它,但不起作用:

...
URL url = new URL("my link");
BufferedReader in = new BufferedReader(new 
InputStreamReader(url.openStream(), "UTF-8"));
...

我也尝试过这样设置,也不起作用:

System.setProperty("file.encoding", "UTF-8");

任何人都可以帮忙吗?非常感谢你!

2 个答案:

答案 0 :(得分:2)

完全一样的问题。您必须在Java启动时设置file.encoding=UTF-8。对于Elastic Beanstalk,添加带有以下内容的Procfile

web: java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar server-api-fat.jar

答案 1 :(得分:1)

您只需设置环境变量即可。

只需转到配置->软件->环境属性:

JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8