主要是URL裏面包含非英文字符.
一般url.openConnection的時候如果tomcat啓動的時候不指定字符集, 會默認使用系統字符集.
所以如果服務器的系統字符集不是UTF8很有可能發生亂碼的情況.
所以在啓動tomcat的時候需要加如下的參數.
catalina.sh文件最上方加如下腳本
JAVA_OPTS=" \
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails \
-Xms1024m -Xmx1024m -Dfile.encoding=utf-8 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote"
關鍵是-Dfile.encoding=utf-8部分.