デフォルトのハンドラーを拡張することにより、Java で SAX パーサーを実装しました。XML の内容に ñ が含まれています。このキャラクターに当たると壊れます。文字メソッドで char 配列を出力すると、単に ñ の前の文字で終わります。コンテンツがまだたくさんあるにもかかわらず、他のメソッドが呼び出されないため、パーサーはこの後停止するようです。つまり、endElement メソッドが再度呼び出されることはありません。誰かが以前にこの問題に遭遇したことがありますか、またはそれに対処する方法について何か提案がありますか?
1254 次
3 に答える
4
ファイルのエンコーディングは何ですか?ファイルのエンコーディングデクロレーションがそれに一致することを確認してください。パーサーはデフォルトでASCIIまたはISO-8859-1になっている可能性があります。あなたはそのようにエンコーディングを設定することができます
<?xml version="1.0" encoding="UTF-8"?>
UTF-8はその文字をカバーしますが、ファイルが実際に含まれていることを確認してください。
于 2008-11-06T16:18:40.137 に答える
3
XMLをASCIIで保存する場合は、8ビット文字テーブルの下半分(最初の128文字)のみを使用できます。XMLにアクセント記号付きの文字やその他の英語以外の文字を含めるには、XMLをUTF-8で保存するか、&#241;のような文字をエスケープする必要があります。のために。
于 2008-11-06T16:20:22.537 に答える
0
私はこの問題に直面しました。フィードしている XML ストリームを ascii として読み取るか、コード内で ascii を「UTF-8」にエンコードするか、文字ストリームに変更する必要があります。すべて問題ありません。
このようなものがあなたを助けます:
File F = new File(C://Location);
BuffeReader Readfile = new BufferReader(F);
InputSource Encode = new InputSource(Readfile);
Encode.setEncoding("UTF-8");
于 2015-12-29T21:26:24.287 に答える