Tomcat + MySQLdocker容器输出UTF8文本与错误的编码

在从mysql:5.6容器中检索到的tomcat:8.0容器的UTF8文本输出中遇到不正确的编码。

直接连接到MySQL容器并在shell上查询certificate文本正确存储在数据库中。

另外,模板中的UTF8内容是从tomcat容器的罚款输出。

JDBC连接器string读取: nfc.jdbc.mysql.url=jdbc:mysql://mysql:3306/mydatabase?autoReconnect=yes&useUnicode=yes&characterEncoding=UTF-8

这里是我正在使用的tomcat Dockerfile:

 FROM tomcat:8.0 RUN apt-get update && \ apt-get -y install libmysql-java RUN echo 'CLASSPATH=/usr/share/java/mysql.jar' >> /usr/local/tomcat/bin/setenv.sh 

和MySQL Dockerfile:

 FROM mysql:5.6 RUN { \ echo '[mysqld]'; \ echo 'character-set-server = utf8'; \ echo 'collation-server = utf8_unicode_ci'; \ echo '[client]'; \ echo 'default-character-set=utf8'; \ echo '[mysql]'; \ echo 'default-character-set=utf8'; \ } > /etc/mysql/conf.d/charset.cnf VOLUME /var/lib/mysql 

Tomcat运行命令是:

 docker run \ --rm \ --name tomcat-server \ --volume $(pwd)/../../webapp:/usr/local/tomcat/webapps/mywebapp \ --volume $(pwd)/../../tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro \ --link mysql-server:mysql \ --publish 8088:8080 \ --tty \ --interactive \ tomcat-server 

我正在使用相同的MySQL镜像为其他docker容器Web服务器(python / django)提供内容,正在使用正确的编码方式提取和输出内容。

我对tomcat webapp的内容没有真正的理解,也不了解Java。

开发人员已经演示了从Windows服务器运行的应用程序生成正确的编码数据,但他们不了解Docker,所以我们正在旋转我们的车轮没有得到任何地方!