UTF-8 モードでテキスト ファイルを開き、 å、ä、öなどのスウェーデン語の文字を含むファイルの各行を読み取るスタンドアロンの Java プログラムがあります。テキスト ファイルは utf-8 モードで保存されています。Java プログラムは、ファイルから読み取った内容を標準出力に出力します。私は、プログラムがこれらの特殊文字を適切に読み取って出力できることを確認しました。次に、プログラムは、ファイルから読み取ったこのデータを、JDBC 接続を使用してデフォルトの utf-8照合でMysql 5.5データベースに保存します。
それにもかかわらず、プログラムがこれらのスウェーデン文字を含むテキスト データを mysql データベースに挿入すると、特殊文字は判読できない変な黒い文字に置き換えられます。代わりにデータベースの照合順序をlatin1に変更すると、これらの特殊文字はすべて MySQL サーバーによって削除されます。私は問題をグーグルで検索し、デフォルトのデータベース照合としてutf-8とlatin1の使用バリエーションを含む提案を見つけましたが、これまでのところそれらのどれも私を助けていないようです.
スウェーデン語の文字を mysql データベースに配置する際に同様の問題に直面している人がいるのだろうか? もしそうなら、データベースにスウェーデン語の文字を正しく入れるために使用すべき照合タイプと文字セットを教えてください。これらの文字を正しく保存するには、JDBC データベース接続で特定の設定を行う必要がありますか? おそらく問題はJavaに関連していますが、私のJavaプログラムがこれらの文字を正しく読み書きできることを視覚的に確認しました。ありがとう。