私はWindowsマシンでJava/EEプログラムを開発しましたが、Windowsでは完全に機能しましたが、LinuxマシンでWARをJbossにインストールすると、CSVファイル。 CsvファイルはISO-8859-1としてエンコードされ、ファイルIはISO-8859-1としてエンコードされます。 MySQLは、文字列がUTF-8としてエンコードされていないように見えます。エンコードはデータベースで使用されています。LinuxとMySQLのエンコーディングの問題
答えて
私たちは、1に行くが、10のためのスターターとして、私はUnicodeと文字セットにジョエルの記事を読んでお勧めしたいのために多くの情報がないと怖い:
は、少なくともそれを読みます2度:)
あなたの特定の問題については、csvファイルを開く読者が(UTF8の可能性が高い)プラットフォームエンコーディングを想定している可能性があります。これは、ISO-8859-1文書が間違ってJava String Encodingに変換された場合、ここからすべてが間違っています。
任意のJavaアプリケーションで文字エンコーディングを使用する上での重要なポイントは、任意の文字列がUTF-16Eだと思う「Java String encoding」にあることを理解することですが、頭の上を覚えていないのでJavaのUTF-8やISO-8859-1の文字列はありません。これは、文字列が一連のバイトから読み込まれ、書き出されるシステムの境界を見る必要があることを意味します。 mysql jdbcドライバを使用しているので、ターゲットのdbに対してcharエンコーディングが正しく処理されないとは思いませんが、それ以外の場合はドライバのドキュメントをチェックアウトする価値があります。
あなただけのデータベースによって使用される文字セットは、このページをチェック知りたい場合は、次のhttp://dev.mysql.com/doc/refman/5.0/en/charset-database.html
あなたは--default_character_set
オプション
の場合を使用mysqlコマンドラインクライアントで使用されるエンコーディングを変更したい場合問題はあなたがファイルを読むときに起こります(データをDBに挿入するときとは対照的に)私はそれがオフのfile.encoding
システムプロパティだと思います。エンコーディングを指定せずにリーダーを作成する場合は、デフォルトでfile.encoding
が使用されます。したがって、もしあなたのLinuxボックスがシステムエンコーディングとしてUTF-8を持っていれば、非ASCII-7文字は問題を引き起こします。
あなたは、いくつかの適切な値(私はあなたがen_US.ISO-8859-1
のようなものを使用することができると思うが、マニュアルを確認してください)にLC_ALL
環境変数を設定することにより、グローバルシステムのデフォルトエンコーディングを変更することができ、またはあなただけでJVMインスタンスに対してローカルで変更することができますただ正しいCharSet
/CharSetDecoder
でコンストラクタを提供して - あなたはCSVを読み取るコードを変更することができる場合、私はあなたがInputStreamReader
から(直接または間接的に)読んで引き受ける
java -Dfile.encoding=ISO-8859-1 -jar yourapp.jar
:コマンドラインで指定あなたは終わった。 (また、このようなものは設定したいかもしれない - しかし、私はあなたが自分でそれをうまくできると仮定します。)
あなたのCSVファイルのエンコーディングこれがお手伝いします
希望を変更するGNU iconvを使用することができます。
- 1. MySQLのエンコーディングの問題 - LinuxとWindowsとで異なる結果
- 2. MySQLエンコーディングの問題
- 3. MySQLのエンコーディングの問題
- 4. PHP/MySQLのエンコーディングの問題
- 5. DjangoとMySQL utf8エンコーディングの問題
- 6. PHPのmysqlクエリのエンコーディングの問題
- 7. 奇妙なMySQLのエンコーディングの問題
- 8. linuxとmysqlの文字エンコードの問題
- 9. PHP 5.2 + mysql 5.1文字エンコーディングの問題
- 10. エンコーディングの問題
- 11. AjaxとPHPエンコーディングの問題
- 12. RedHat Linux/MySqlサーバーのパスワードの問題
- 13. MySqlの.Netコネクタの問題 - Linux MonoDevelop
- 14. URLエンコーディングの問題
- 15. Jsonエンコーディングの問題
- 16. JSPエンコーディングの問題
- 17. cygwinエンコーディングの問題
- 18. ROracleエンコーディングの問題
- 19. jqueryエンコーディングの問題
- 20. Log4jエンコーディングの問題
- 21. エンコーディングの問題は、
- 22. document.referrerエンコーディングの問題
- 23. WebClientエンコーディングの問題
- 24. nodeJSエンコーディングの問題
- 25. エンコーディングの問題タイトルタグ
- 26. XMLエンコーディングの問題
- 27. Python3エンコーディングの問題
- 28. 文字エンコーディングと問題
- 29. ogr2ogrとPostgis/PostgreSQLデータベースのエンコーディングの問題
- 30. ワードクラウドとテキストマイニングのエンコーディングの問題
Javaサーバーを使用してデータをインポートしたり、コマンドラインmysqlクライアントを使用してインポート時に問題が発生しているかどうかは、実際には明らかではありません。 –