MySQLに追加する際のエラー

たまにこんなエラーが発生する
文字コードとかの問題かな?

org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外(SQL=[insert into TWEETS (STATUS_ID, URL, IMAGE, CONTENT, USER, CREATED_AT) values (?, ?, ?, ?, ?, ?)], Message=[[ESSR0072]SQLで例外(SQL=[insert into TWEETS (STATUS_ID, URL, IMAGE, CONTENT, USER, CREATED_AT) values (?, ?, ?, ?, ?, ?)], Message=[1366], ErrorCode=HY000, SQLState={3})が発生しました : [SQLで例外(Message=[Incorrect string value: '\xEF\xBD\x9E\xE3\x80\x80...' for column 'CONTENT' at row 1], ErrorCode=1366, SQLState=HY000)が発生しました。], [Incorrect string value: '\xEF\xBD\x9E\xE3\x80\x80...' for column 'CONTENT' at row 1], ErrorCode=1366, SQLState=HY000)が発生しました
org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外(SQL=[insert into TWEETS (STATUS_ID, URL, IMAGE, CONTENT, USER, CREATED_AT) values (?, ?, ?, ?, ?, ?)], Message=[[ESSR0072]SQLで例外(SQL=[insert into TWEETS (STATUS_ID, URL, IMAGE, CONTENT, USER, CREATED_AT) values (?, ?, ?, ?, ?, ?)], Message=[1366], ErrorCode=HY000, SQLState={3})が発生しました : [SQLで例外(Message=[Incorrect string value: '\xEF\xBD\x9E\xEF\xBC\x81...' for column 'CONTENT' at row 1], ErrorCode=1366, SQLState=HY000)が発生しました。], [Incorrect string value: '\xEF\xBD\x9E\xEF\xBC\x81...' for column 'CONTENT' at row 1], ErrorCode=1366, SQLState=HY000)が発生しました

ここらへんの設定かと思って何もしない、Windows-31JUTF-8で試してみたけど変化なし

"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8" +
"&characterSetResults=UTF-8"
"jdbc:mysql://localhost:3306/test?characterEncoding=Windows-31J" +
"&characterSetResults=Windows-31J"


どうやら全角記号がよくないみたい
エラーはいたときのメッセージと内容をファイルに出力するようにしてしばらく放置して情報集めよう

〜 \xEF\xBD\x9E
とりあえず犯人の一味を発見

これが追加する文字列に含まれるとアウト
これってどうしようもないのかな
追加する前に削除するしかない?

なんかどうしようもなさそうだ
無理矢理文字を置換することにする。とりあえず上のサイトに載っている記号に対応

変な記号多すぎる・・・orz
ある程度対応したら放置でいこう
根本的解決方法ないのかなぁ
読み込みとDB両方JISにしたらいけるとか?

上を読むとMS932読みこんで、DBにはUnicode(UTF-8)で送信すればエラーが文字化けせずに、Windows機種依存文字を読めそう。
けどこれってLinux上でも問題ないの?


そもそもUTF-8以外でURLの文字列読み込んだらエラーだ
もう諦め
もう文字エンコーディングを指定する必要があったら全部UTF-8で行くw