我有一个运行在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");
任何人都可以帮忙吗?非常感谢你!
答案 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