2016-09-26 17 views
0

トレース:私はMySQLは絵文字保存したくないと私はutf8mb4へのエンコーディングを変更する必要がありますが、ちょうどstring 'を格納するための方法があることを理解しJDBCのMySQLストアはutf8mb4のエンコードせずに絵文字

2016-09-26 06:52:43.756 WARN 1280 --- [ XNIO-2 task-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1366, SQLState: HY000
2016-09-26 06:52:43.756 ERROR 1280 --- [ XNIO-2 task-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Incorrect string value: '\xF0\x9F\x80\x84' for column 'name' at row 1

\ xF0 \ x9F \ x80 \ x84 'ではなく、' '?

答えて

0

そのフィールドに格納されている値をエンコード/デコードすることができます。あなたがそれを行うには、インスタンスMimeUtilityのために検討した場合、あなたの(ラテン)文字のほとんどは、まだ読めるようになります:

st.setString(1, MimeUtility.encodeWord(nameWithEmoji)); 

annがウィッヒ

String nameWithEmoji = MimeUtility.decodeWprd(rs.getString("name")); 
を取得します