根据MySQL JDBC驱动程序文档,您还需要在JDBC连接URL中设置字符编码。这是一个例子:
jdbc:mysql://localhost:3306/db_name?useUnipre=yes&characterEncoding=UTF-8
否则,MySQL JDBC驱动程序将使用平台默认编码在通过网络发送之前将字符转换为字节,在您的情况下显然不是UTF-8。然后,所有未发现的字符将被问号替换。
另外,在检索数据时,您需要确保显示/写入字符的控制台/文件也支持/使用UTF-8。否则,它们也将成为问号。如何解决此问题取决于您如何/在何处显示/写入这些字符。
也可以看看:- Unipre-如何正确获取字符?
顺便说一句,您在
SET NAMES这里不需要查询。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)