0

文字列の多くの領域に特殊文字が含まれているため、アプリケーションが誤動作しています。

例 1: ? が表示されます。'の代わりに表示されていた文字。

本文 :
ヒルトン パリ ラ デファンス ホテルは、ヨーロッパ最大のビジネス地区の中心部にあるグランダルシュのふもとに位置し、パリで最も有名な観光スポットのいくつかに簡単にアクセスできます。駅からわずか数分...

スクリーンショット:
ここに画像の説明を入力

例 2 : AXIOM を使用して、特殊文字 ('、& など) を含む XML を解析中にパーサー例外が発生しました。

XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(new StringBufferInputStream(responseXML));
OMElement documentElement = new StAXOMBuilder(parser).getDocumentElement();

それらが見つかったときにそれらを削除するための多くの投稿を見つけました例: MySQL で utf8 エンコーディングに適していない悪い文字を削除するにはどうすればよいですか? encoding=utf-8 と宣言された XML から非 UTF-8 文字を削除する - Java

また、次の文字を使用して、UTF に準拠していない文字を削除しています。

if (null == inString ) return null;

byte[] byteArr = inString.getBytes();

for ( int i=0; i < byteArr.length; i++ ) {
   byte ch= byteArr[i]; 
   if ( !(ch < 0x00FD && ch > 0x001F) || ch =='&' || ch=='#') {
      byteArr[i]=' ';
   }
}

return new String( byteArr );

しかし、これは '.

私がやりたいことは、単純に削除するのではなく、意味のある方法でそれらを置き換えたいということです。例: ' は '、& は 'and' などに置き換えることができます。手動で 1 つずつ置き換えるのではなく、これを行う標準的な方法はありますか?

4

1 に答える 1