1. ホーム
  2. Web

Prologでは、コンテンツは許可されていません。

2022-02-11 15:42:59

<スパン <スパン 原因とその解決策

<スパン 1. xmlエンコーディングエラー

xmlはUTF-8でエンコードされており、UltraEditで編集すると、BOMヘッダがないUTF-8ファイルにBOMが追加されますが、DOM4jはこのBOMを認識しません(dom4j1.3)、解決するには、dom4jを1.6にアップグレードする必要があります www.dom4j.org

<スパン BOMとは何ですか? http://www.unicode.org/faq/utf_bom.html#22Unicode 仕様書には、BOM - Byte Order Markという概念があります。BOMの説明はこちらにあります。

UCSのエンコーディングには"ZERO WIDTH NO-BREAK SPACE"という文字があり、FEFFとエンコードされています。そしてFFFEはUCSでは存在しない文字なので、実際の伝送では登場しないはずです。UCS仕様では、バイトストリーム送信の前に、この文字 "ZERO WIDTH NO-BREAK SPACE" を送信することが推奨されます。NO-BREAK SPACE"。こうすることで、受信者がFEFFを受信した場合は、バイトストリームがビッグエンディアンであることを示し、FFFEを受信した場合は、バイトストリームがリトルエンディアンであることを示すことができます。このように、quot;ZERO WIDTH NO-BREAK SPACE"という文字は、BOMとも呼ばれます。

UTF-8では、バイトオーダーを示すBOMは必要ありませんが、符号化方式を示すBOMを使用することができます。文字 "ZERO WIDTH NO-BREAK SPACE" のUTF-8エンコーディングは、EF BB BFです。したがって、受信者がEF BB BFで始まるバイトストリームを受信した場合、それがUTF-8でエンコードされたものであることを知ることができます。

WindowsはBOMを使って、テキストファイルがどのようにエンコードされているかをマークしているのです。

<スパン 2. xml ファイルに不正な文字が含まれています。

<スパン xmlを手で倒して、スペースやタブ(TAB)など、あるべきでないスペーサーを削除します。

例外として、PrologではContentは許可されません。

BOMを削除する方法。

まず、windowsに付属しているメモ帳は、BOMの有無にかかわらず、UTF-8エンコードされたファイルを保存しますので、メモ帳は使わないでください。UltraEdit(以下UE)の新しいバージョンでは、BOMのサポートが充実していますので、この問題を解決するには、UEの新しいバージョンを使用することをお勧めします。私が使用しているバージョンはUltraEdit-32 11.00a+ 中国語版です。まず、UEを開き、メニューバーの "詳細設定" - "設定" を選択するとタブウィンドウが表示されるので、その中の "General" タブで "すべての UTF-8 ファイルヘッダータグ (BOM)" と "Write UTF-8 file header tags to new files created in UltraEdit (as above) " のチェックボックスを外し、OKをクリックします。今回、UEはデフォルトでBOMのないファイルにはBOMを追加しませんが、上記の操作を行わないとUEもデフォルトで追加してしまうので注意しましょう!。では、すでにBOMを含んでいるファイルのBOMを消すにはどうしたらよいのでしょうか?次のデモを皆さんに。まず、ファイルを開き、メニューバー "File" - "Format Conversion" - "UTF-8 to ASCII " を選択すると、ファイルはASCIIエンコーディングに変換されるので、上記のBOMはUCSエンコーディングの頭にあるため、BOMは存在しません、そして、メニューバー " - "UTF-8 to ASCII " を選択し、ファイルを開き、メニューを選択すると、BOMは存在しません、そして、メニューを選択すると、BOMは存在しません、そして、ファイルを開き、メニューを選択すると、上記のBOMは存在しません、そして、メニューバーを選択すると、BOMは存在します。 File" - "フォーマット変換 "-"ASCII to UTF-8 (Unicode Edit)" で、今回はUTF-8エンコーディングに戻し、BOMを自動的に追加しないことにしたので、今回はBOMなしのファイルとなり、ファイルを保存してください。これで全体の操作は終了です。