0

FTPClient Javaライブラリを使用して、FTP経由でアプリケーションにファイルをアップロードさせることができます。

(たまたまOracle XML DBリポジトリにアップロードしています。)

xmlファイルに中引用符が含まれていない限り、すべてが正常にアップロードされます。この場合、エラーが発生します: LPX-00200:エンコードUTF-8からUCS2に変換できませんでした

Windows CMD行FTPツールを使用して、同じファイルであると思われるものをアップロードできます。Windows CMDラインツールが使用するエンコーディング設定があり、Javaコードで設定する必要があるのではないかと思います。

誰かがこれについて何か知っていますか?ありがとう!!

4

4 に答える 4

0

Oracle XML DBリポジトリに精通していません—圧縮されたアップロードを受け入れることができますか?ファイルをzip形式またはgzip形式で圧縮すると、リソースが節約され、使用中のASCIIファイルタイプの自動検出が妨げられます。

于 2009-10-29T20:49:39.510 に答える
0

そのアプリケーションはわかりませんが、JVM コマンドラインで -Dfile.encoding=UTF-8 を使用してみてください。

于 2009-10-29T20:37:03.497 に答える
0

バイナリでは、この問題はなくなります。

FTPClient.setType(FTPClient.TYPE_BINARY);

http://www.sauronsoftware.it/projects/ftp4j/manual.php#3

于 2009-10-30T13:53:34.390 に答える
0

ファイルに中引用符が含まれている場合、それらは iso-8859-1 および windows-1252 文字セットの上位ビット セット範囲にあります。UTF-8 では、これらの文字は通常、UTF-8 で 2 バイトかかります。

UTF-8 ではなく、これらのエンコーディングのいずれかで誤って xml ファイルをエンコードした可能性は十分にあります。設定される上位ビットは、複数の UTF-8 オクテットのシーケンスでのみ許可されるため、変換エラーが発生します。

Windows を使用している場合は、メモ帳でファイルを開き、[名前を付けて保存] を使用してドキュメントを再保存してみてください。UTF-8 エンコーディングを使用して、変更したファイルをアップロードします。Unix では、iconv または同様のツールを使用して変換します。アップロード前に iso-8859-1 から UTF-8 に。

XML ドキュメントがエンコーディングを明示的にマークしている場合は、正しいエンコーディング (UTF-8 など) でマークされていることを確認してください。多くの xml パーサーでは、iso-8859-1 または windows-1252 文字セットでエンコードされた XML を、そのようにマークされている限り解析できます。

于 2009-10-31T20:25:54.970 に答える