2012-01-02 1 views
0

私はjavaプログラムを通してベトナム語の文字列をMySQLデータベースに挿入しようとしました。挿入されていますが、特定の文字が迷惑メールとして挿入されています。そして、取得しようとしている間、私はいくつかの文字の代わりに同じジャンク値を取得しています。誰も私に何をする必要がありますか? MySQLに問題はありますか?またはこれらの文字をサポートするDBがありますか?そこどのデータベースがベトナム語の文字を挿入できますか?

答えて

1

「ジャンク」の例、およびコードを?

一般的に、あなたは確認する必要があります:

  1. あなたのテーブルは、すべてのテキスト列のUTF-8の照合を使用して作成されます。これはいくつかのレベルで行うことができます:config default-character-set=utf8、db CREATE DATABASE ... DEFAULT CHARACTER SET utf8、テーブルCREATE TABLE ... DEFAULT CHARACTER SET utf8、および列column VARCHAR(255) CHARACTER SET utf8。最初の作成後は、列のALTERによってのみ行うことができます。デフォルトの文字セットを変更してもカラムは変更されません。データベースへの接続は、接続文字列またはプロパティにuseUnicode=truecharacterEncoding=UTF-8プロパティを指定することで、UTF-8エンコーディングである

  2. 。あなたは過去に厄介なバグがあったので、最新のMySQL Connectorを持っていることを確認してください。

  3. あなたの処理ストリーム内の他のものは、データベース接続に戻る前に途中で文字をマングリングしていません。おそらく間違っている可能性があるため、どこでもデフォルトのエンコードを使用していないことを確認してください。フラグ-Dfile.encoding=UTF-8を設定すると、一時的な回避策として役立つかもしれませんが、頼りすぎることはありません。

(そして、あなたのテストの一部が端末に印刷を必要とする場合は、Windowsのコマンドプロンプトはそうあなたは間違いなくそこにジャンクが表示されますUTF-8で何かをすることができなくなりますので注意してください。)

関連する問題