馃く is an invalid payload

Summary

Sending payloads with emojis leads to unexpected server errors.

Expected Behavior

Any unicode text should work as string payload.

Actual Behavior

org.caosdb.server.database.exceptions.TransactionException: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0\x9F\xA4\xAF' for column ``.``.`PropertyValue` at row 1
at org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityProperties.insertFlatProperty(MySQLInsertEntityProperties.java:123)
at org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityProperties.insertStages(MySQLInsertEntityProperties.java:223)
at org.caosdb.server.database.backend.transaction.InsertEntityProperties.execute(InsertEntityProperties.java:42)
at org.caosdb.server.database.backend.transaction.InsertEntityTransaction.execute(InsertEntityTransaction.java:58)
at org.caosdb.server.transaction.TransactionInterface.execute(TransactionInterface.java:49)
at org.caosdb.server.transaction.WriteTransaction.transaction(WriteTransaction.java:338)
at org.caosdb.server.resource.transaction.EntityResource.httpPostInChildClass(EntityResource.java:118)
at org.caosdb.server.resource.AbstractCaosDBServerResource.httpPost(AbstractCaosDBServerResource.java:256)
...

Steps to Reproduce the Problem

Please describe, step by step, how others can reproduce the problem. Please try these steps for yourself on a clean system.

  1. Send an emoji in a server insert/update.

Specifications

  • Version: Current release 0.13.0
  • Platform: Sending with Firefox on Linux

Possible fixes

Do you have ideas how the issue can be resolved?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information