Mam aplikację Java Web działającą na oprogramowaniu GlassFish 3 i JPA (EclipseLink) na MySQL. Problem, przed którym stoję, polega na tym, że jeśli zapisuję jednostki w bazie danych za pomocą metody update()
, pola tracą integralność; '?'
jest wyświetlany zamiast niektórych znaków.Kodowanie znaków JDBC
Serwer, strony i baza danych są skonfigurowane do używania UTF-8
.
Po wysłaniu danych formularza następna strona wyświetla dane poprawnie. Ponadto "wydaje się" w debugowaniu NetBeans, że właściwość String
bieżącego obiektu również przechowuje poprawną wartość. Dunno, jeśli debugowanie NetBeans może być zaufane; może być to, że dekoduje poprawnie, ale jest niepoprawny.
Jaka jest baza danych i jakiego ciągu połączenia używasz? –
używam MySQL i ciąg połączenia jest: 'jdbc: mysql: // localhost: 3306/administer' –
Link dla tych, którzy chcą korzystać z utf8mb4: http://dev.mysql.com/doc/connector -j/pl/złącze-j-reference-charsets.html –