Validation 带UTF-8的Scandic信函在JSF MYSQL PrimeFaces软件中不起作用?

Validation 带UTF-8的Scandic信函在JSF MYSQL PrimeFaces软件中不起作用?,validation,utf-8,character-encoding,Validation,Utf 8,Character Encoding,我在外面就像冬天的雪人。我设置了alterschemahappyend默认字符集utf8;我的MySQL数据库 在我的xhtml页面中: <?xml version='1.0' encoding='UTF-8' ?> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 我对像ÄÖÅ这样的丑闻信件有意见。如果我直接将它们插入数据库,那么即使我在web浏览器的表单中看到该属性,一切都

我在外面就像冬天的雪人。我设置了alterschema
happyend
默认字符集utf8;我的MySQL数据库

在我的xhtml页面中:

<?xml version='1.0' encoding='UTF-8' ?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


我对像ÄÖÅ这样的丑闻信件有意见。如果我直接将它们插入数据库,那么即使我在web浏览器的表单中看到该属性,一切都正常。但如果在web浏览器中编辑属性,则它们是这样的:ÃÃÃÃÃ。这是与验证有关的东西还是在做什么。我两天前就想弄明白了,现在我已经不知道了。

请尝试下面的代码在数据库中插入数据

使用“创建数据库数据库名称默认字符集utf8 collate utf8\U bin;”创建数据库


它肯定会起作用。

对不起,这里没有足够的信息。看起来有点像UTF8 mojibake;例如,当被视为拉丁语-1时,对ä的UTF8编码为Ã,而öisÃ。它是什么意思?我完全明白你说的。我在我的过滤器中添加了一行代码,现在它可以工作了,但我仍然不知道是什么原因造成的,有什么想法吗?嗨!谢谢你的回答。我还没有尝试过,但我在我的过滤器中添加了一行代码,告诉每个请求使用UTF-8,它正在工作。DB当时工作正常,我想驱动程序也正常,所以我仍然不知道是什么导致了这种情况:)httpRequest.setCharacterEncoding(“UTF-8”);
String unicode= "?useUnicode=yes&characterEncoding=UTF-8";

        Class.forName("com.mysql.jdbc.Driver");
        PreparedStatement p1=null;
        cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsfdb"+unicode, "root", "root");