payara(glassfish)を使用したJavaアプリケーションのメールに本文を保存してください。 2つの異なるサーバーに同じアプリケーションがありますDBサーバーのために:最初のものは最初のサーバーから同じメールがmariadbがあり、mysql5.5でない不正確な文字列
Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.qualifier): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect string value: '\xEF\xBF\xBD1 h...' for column 'msg_body' at row 1
何をスローmariadb 10.1.26(javaの1.8.0_131)は、MySQL 5.5.57(javaの1.8.0_144)を有する第二1 であります私にとって本当に奇妙なのは、2番目のサーバーでは、インポートは流れません。警告もボディも保存されません。
準備は、2台のサーバーの構成をチェックし、 両方同じfoloowingであるように思わ2つのデータベース上にまったく同じです:
- すべてのテーブルCHARACTER_SET_NAME latin1の
で-the変数の照合です
ありますcollation_connectionの= utf8mb4_unicode_ci
collation_database = utf8mb4_general_ci
collation_server = utf8mb4_general_ci
このように、2つのデータベースはまったく同じconfを持っています。なぜ誰かが1つのサーバーが動作しているのか、もう1つのサーバーが動作していないのか、
関連:https://stackoverflow.com/questions/11159118/incorrect-string-value-xef-xbf-xbd-for-column –
ありがとうございました。どちらの場合でも、同じアプリケーションが2つのシステムで異なる動作をする理由を説明していません – user2946593
アプリケーションがデータが破損していることを示すために使用される特殊なシンボルを永続化しようとしているので、MariaDBに修正が含まれていれば、そのようなデータを拒否するには、破損したデータを格納するのが危険です。 – OndrejM