Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

eclipse3.4のXMLファイルエラー

eclipse3.4のXMLファイルについて質問なのですが
ファイル的には問題ないXMLファイルが
「Invalid byte 1 of 1-byte UTF-8 sequence.」
というエラーとして項目にあがってしまうのですが、どうにかならないでしょうか。

XMLファイルのエンコーディングはUTF-8で
ファイルの内容はいかのようなものです。
<?xml version="1.0" encoding="UTF-8"?>
<content>日本語がだめ</content>

日本語の部分に先程のエラーがついてしまいます。

エラーの部分を右クリックで削除してしまえば、ファイルを編集しない限り消えてくれるのですが、編集すればまたでてきてしまいます。

調べると、eclipse.iniに
「-Dfile.encoding=UTF-8」を追加すればエラーがでなるようです。
実際やってみるとエラーはでなくなるのですが、開発の都合上「-Dfile.encoding=MS932」としなければなりません。
もし「-Dfile.encoding=UTF-8」とするとライブラリ関係を修正していかなければならなくなります。

実行等は問題なく動作していますが、エラー項目が常にでている状態で、気持ち悪くて仕方がありません。
どうにかならないでしょうか。

5

回答

14341

閲覧

5件の回答

評価

0

実際のファイルのエンコードと、
宣言が違ってる時に出るエラーなんだけど。

encodingにUTF-8を指定しているのに、
実際のファイルはWindows-31jになってたりする?


あと、XMLファイルを編集するエディタは
何が選択されてますか?
右クリック > アプリケーションから開く > XMLエディタ
になってますか?
XMLエディタなら、宣言したエンコードで、
自動的に保存してくれるんだけど。
テキストエディタだと、
編集 > エンコードの設定 > その他[UTF-8]
を指定しないと、プロジェクトのデフォルトの
エンコードになっちゃいます。

あと、file.encoding使うんじゃなくて、
ちゃんと文字コード意識してコーディングした方が
良いと思うんだけど。

評価

0

Eclipseの全体設定がMS932だと「Eclipseの」XMLエディタがエラーにしてしまうって話なんじゃ?
コードとしては問題が出てるわけじゃないという。

評価

0

XMLファイルのエンコーディングはUTF-8

XMLの宣言は
<?xml version="1.0" encoding="UTF-8"?>
です。

プログラム上ではUTF-8として読み込めますし
IEなどのブラウザでも読み込むことは可能です。
terapadで開いてもUTF-8です

XMLファイル的には問題ないと思われます。

XMLエディタの設定などあればいいのですが・・・

使用しているエディタはXMLエディタというAll In One Eclipse3.4にはじめからはいっていたものです。

評価

0

3.4 はもう手元にないので不確実ですが、XMLエディタで開いてる状態で、
エディットメニューの下の方にエンコーディングの設定はありませんか?
もしあれば一つずつ設定。
ウィンドウメニューの設定内に XML 全部に対する設定もあると思います。

評価

0

ファイルを右クリック - プロパティ - テキストファイルエンコーディングは、「UTF-8」です。

XMLファイルを開いて、エディタ上で右クリック - 設定 - 
ファイルの作成時
 エンコード: ISO10646/ユニコード(UTF-8)
  IANA: UTF-8

XMLファイルの宣言は
<?xml version="1.0" encoding="UTF-8"?>

もちろん文字化けはしておりません。



以前とXMLのエンコーディングが変わってしまうためあまりやりたくはないのですが・・・
<?xml version="1.0" encoding="SHIFT-JIS"?>
とし、ファイルのエンコーディングもSHIFT-JISにする事で、エラーが出なくなる事は確認しています。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。