2017-01-19 10 views
0

モデルを保存しようとすると、AO受け入れRUと私は得る:プレイフレームワークJDBCのebean mysqlの例外だが

ます。java.sql.SQLException:不正な文字列値:テキストを保存しています...

私はdefault.urlを使用してい

= "jedna DVA TRI kachna DUM Akachníマゾ" のように ":mysqlの:JDBC?// [URL]/[データベース] characterEncoding = UTF-8"

+1

'useUnicode = YES&characterEncoding = UTF-8'を使用してみてください。私の経験では、これらの2つの選択肢は一緒に現れる傾向があります。 –

+0

ありがとう、もうそれを試しました、運はありません。 – acambeiro

+0

これはソリューションのほんの一部です。私の答えを見てください。 –

答えて

1

řůはlatin1にエンコードされていません。 áõです。それはCHARACTER SET latin1がどこかに関わっていることを示唆しています。 SHOW CREATE TABLEを見てみましょう。

C599などは、対応する文字の有効なutf8エンコードです。

?は、宛先文字セットが文字を表すことができない場合に発生します。ここでも、latin1というカラム/テーブルが指し示されています(utf8(またはutf8mb4))。

もっと議論し、似たような状況をデバッグする:Trouble with utf8 characters; what I see is not what I stored

+0

問題は、スキーマがlatin1で作成され、テーブルがエンコーディングを継承していたことでした。 スキーマのエンコーディングを変更した場合でも、テーブルのエンコーディングを変更するか、データベースを再生成する必要がありました。 – acambeiro

+1

適切な 'ALTER'はデータを回復する可能性がありますが、間違った変更をしないようにもっと詳細が必要です。 –

+0

まだ開発中ですが、それを失うことは問題ではありませんでしたが、とにかくチップのおかげで – acambeiro

0

はおそらく持っていますいくつかの特殊文字、そしてUTF-8はそのyをエンコードします強制的にいくつかのエラーが発生する可能性があります。

文字列:

jedna DVAトライkachna DUM Akachníマソ

ASCII:

「jedna DVAトン

このASCII文字列は、次のテキストを持っています\ xc5 \ x99i kachna d \ xc5 \ xafm akachn \ xc3 \ xad maso '

+0

私はエンコードしないとjedna dva t?i kachna d?m a kachnに変わりますか? maso – acambeiro

関連する問題