我在使用JSF和EclipseLink JPA到MySQL数据库的 Web 应用程序中遇到了大问题。
当我从数据库中读取数据时,JSF 会以 UTF-8 读取和写入我的字符。但在数据库中字符不好。
fe:输入字符:“żźćółzxcv”,写入数据库:“?????zxcv”。但是如果我手动将数据写入数据库,例如:“żźćółzxcv”,那么在 JSF 中读取是完美的。
我从这里尝试了一切:通过 PrimeFaces 输入组件检索的 Unicode 输入已损坏
我发现JSF中的编码很好,但问题出在java中,因为如果我手动设置
current.setUwagiZ("żźćóżźćłąśóżźćł TE");
getFacade().edit(current);
在数据库记录中是错误的:???ó??????ó???? TE
我在 JDBC 资源中设置了 characterEncoding 和 useUnicode。此外,当某些工具在 NetBeans 编码中执行命令是可以的并且 MySQL 中的数据是 UTF-8 时,所以连接似乎很好。
所以问题是java,但我完全不知道如何解决这个问题:(