java向mysql数据库插入中文时乱码

插入数据时中文乱码
<form action="PetServlet?id=${requestScope.id}" method="post" enctype="multipart/form-data">
                <table>
                <tr><td><input type="text" value="${requestScope.id}" name="cusId"/></td></tr>
                    <tr>
                    <td>主人姓名</td>
                    <td><input type="text" name="cusName" value="${requestScope.name}"></td>
                </tr>
                <tr>
                    <td>宠物姓名</td>
                    <td><input type="text" name="petName"></td>
                </tr>
                <tr>
                    <td>出生日期</td>
                    <td><input type="text" name="petBirthday"></td>
                </tr>
                <tr>
                    <td>宠物照片</td>
                    <td><input type="file" name="petPhoto" onchange="show(this)"></td>
                </tr>
                <td><input  type="submit" value="添加" /> </td>
                <td><input type="reset" value="重置"/></td>

                </table>
            </form>


运行结果

img

我数据库这样连接的
<url>jdbc:mysql://localhost:3306/ph?useSSL=false&amp;serverTimezone=UTC&amp;allowPublicKeyRetrieval=true&amp;characterEncoding=utf8</url>

希望得到中文乱码的原因和解决方法

characterEncoding=utf8改成GBK呢

建议看一下数据库表字段是否设置了编码格式

img