2011-09-16 5 views
1

私は統合プロジェクトで何が起こっているのかを調べようとしています。最後にエンコーディングを取得することはできません。エンコーディングの問題ファイルをエクスポートする

リトアニア語ファイルがas400にインポートされました。テキストはエンコーディングEBCDICに格納されます。データをANSIファイルにエクスポートし、windows-1257として読み込みます。 ASCII文字はうまく動作し、リトアニア人の中にはいくつかありますが、残りは〜、¶、]のような文字でうまくいきます。

例文字列はパイプ汝行く

スタート
Tuskulënö

AS400
Tuskulënö
EAA9A9596
34224335A

エクスポートされたファイル(AFTEファイル窓-1257にR変換)エクスポートされたファイルのための
Tuskulėnö

期待される結果
Tuskulėnų

任意のアイデアは?

よろしく、 カール

+0

Javaでファイルを読み書きするときに使用するエンコードを指定していますか?そうでない場合、プラットフォームのデフォルトが使用されます。 –

答えて

5

EBCDICは、単一のエンコーディングではない、それは(コードページと呼ばれるこのケースでは)エンコーディングの家族だ、ISO-8859-*はエンコーディングの家族がどのように似て:家族内のエンコーディングは約共有します「基本的な」文字のコードの半分(およそASCIIで示されるもの)であり、残りの半分は異なる。

EBCDICに格納されていると言えば、のコードページを使用する必要があります。

同様の問題がANSIに存在します。エンコードに使用すると、Windowsのデフォルトのエンコードが参照されます。残念ながら、Windowsインストールのデフォルトのエンコーディングは、設定されているロケールによって異なる場合があります。

もう一度、ここで実際に使用されているエンコーディングを調べる必要があります(通常はWindows-*ファミリの「通常の」英語のものWindows-1252)。

あなたが実際に一度あなたがは、各ポイントでをしたい持っている何エンコーディング、あなたは第二段階の方に行くことができるを知っている:それを修正。

この種の問題のために私の個人的な好みはこれです:最初のツールが生成するものは何でも取ると、最初のステップでUTF-8に変換します。エンコーディングが変換されているだけステップを持っています。それ以降は、常にUTF-8を使用してそのデータを処理してください。必要に応じて、最後のステップでUTF-8を他のエンコーディングに変換します(ただし、可能な場合はこれを避けてください)。

関連する問題