またはISO/WINDOWS/UTF-8の混合物)。素敵な帽子(Â
)がたくさんあります。ヒューリスティックを使用して不正にエンコードされたテキストを修正するためのJavaライブラリ
明らかに、外部Webサービスが文字列をどのように格納して情報が失われるのかを修正できません。したがって私が知っている100%の翻訳の希望は不可能です。
しかし、誰かがヒューリスティックな文字マッピングライブラリをJavaで書いていることを期待していました。
私はポートこの男のPHPコードことができますねない場合:https://stackoverflow.com/a/3521340/318174
UPDATEと説明: @VGRのような単純な変換が動作しませんと答えました。私は元のバイトを持っていません。エンドポイントでデータが正しく変換されませんでした(SOAPサーバーの可能性がありますgetBytes(/*with out correct encoding*/)
が実行されたか、またはデータが不正な形式で格納されている可能性があります)。バイトをJavaのStringsに変換すると、エンコーディングがどこでも同じでなければ、データは保持されません。 ASCII
< - >UTF-8
のようなものを考えれば分かります。 Windows-1252
またはISO Latin
では、データが失われることはありませんが、しばしば混乱するため、はるかに複雑です。これらのエンコーディングは2バイトで、UTF-8
のサブセットではないためです。
あなたが私を信じていない場合は、getBytes()
をさまざまなエンコードで元に戻してみると、データが破損してデータが失われることがあります。
UTF-8バイトが個別の文字として渡されている場合は、コメント。 –