- PR -

Ant 文字化け encoding属性

投稿者投稿内容
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-09-20 04:02
下記のようにAntでのコンパイル時に、文字認識のエラーが出ます。対策として、build.xmlのencoding属性を変更しましたが全て("ISO-8859_1","EUC-JP","utf-8","Shift-JIS")ダメでした。下記の場合、どのように回避すればよろしいのでしょうか?

*環境*
OS: Fedora2
Ant: apache-ant-1.6.2

========================================================================================
[root@linux MyWebAppWithDB]$ ant
Buildfile: build.xml

build:
[javac] Compiling 1 source file to /home/mydir/MyWebAppWithDB/build/WEB-INF/classes
[javac] /home/mydir/MyWebAppWithDB/src/LTCInfoWithDBServlet.java:31: error: unrecognized character in input stream.
[javac] out.println("<head><title>講義時間変更情報のお知らせ<title></head>");
[javac] ^
[javac] /home/mydir/MyWebAppWithDB/src/LTCInfoWithDBServlet.java:32: error: unrecognized character in input stream.
[javac] <head><title> out.println("<body>");
[javac] ^
[javac] /home/mydir/MyWebAppWithDB/src/LTCInfoWithDBServlet.java:32: error: String not terminated at end of line.
[javac] out.println("<body>");
[javac] ^
[javac] 3 errors

BUILD FAILED
file:/home/mydir/MyWebAppWithDB/build.xml:19: Compile failed; see the compiler error output for details.

Total time: 1 second


[ メッセージ編集済み 編集者: ryo 編集日時 2004-09-20 04:05 ]
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-09-20 23:23
全角スペースとか入っていませんか?
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-09-21 02:51
いえ、確認したところ全角スペースはありませんでした。
当り前と言われるかもしれませんが、Javaソース内の日本語を排除したら問題なくいきます。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-21 03:24
pageディレクティブのエンコーディングの記述と実際のエンコードは合っていますか?
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-09-21 03:55
恐れながら、

引用:
対策として、build.xmlのencoding属性を変更しましたが
全て("ISO-8859_1","EUC-JP","utf-8","Shift-JIS")ダメでした。


これって対策でしょうか? わけもわからず適当にアレコレ試して
みただけのように思えますが。
対策というのは、原因がわかってないとできないはず。

引用:
どのように回避すればよろしいのでしょうか?


『どのように(How)』よりも『なぜ(Why)』うまくいかないか調べる
方が先だと思いますが。


ところで、ryoさんがご使用の環境(XMLパーサ)は"Shift-JIS"と
書くことはできるのでしょうか? 私のは "Shift_JIS" と書きます。
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-09-21 05:46
>pageディレクティブのエンコーディングの記述と実際のエンコードは合っていますか?(インギさんより)

全部の組合せをかえて行ってみましたが、全部同じ箇所(日本語で)ひっかかってしまいます。


===========================================
>これって対策でしょうか? わけもわからず適当にアレコレ試してみただけのように思えますが。(Kissingerより)

もう、おっしゃる通りです。エラーメッセージから日本語でひっかかっていると思い、encoding属性をあれこれ変えうまくいかず、試しに日本語を外したらうまくいった。が、原因はわからないからここに掲載したという次第です。本当に済みません。

Kissingerさん、どうか教えて下さい、今回の原因の見つけ方を。よろしくお願いします。


===========================================
>ryoさんがご使用の環境(XMLパーサ)は"Shift-JIS"と書くことはできるのでしょうか? 私のは "Shift_JIS" と書きます。(Kissingerさんより)

本当に申し訳ございません。正直"Shift_JIS"は自分の環境では文字化けを起こすのは知っていて、全然使ったことが無いので、完全に勉強不足です。本当に申し訳ございません。厳しいご指摘、有難うございます。

[ メッセージ編集済み 編集者: ryo 編集日時 2004-09-21 05:46 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-21 05:52
>pageディレクティブのエンコーディングの記述と実際のエンコードは合っていますか?
JSP かと勘違いしていました。page ディレクティブなんてありませんよね?
まず、ソースファイルは何のエンコーディングで保存されていますか?
また、どこのエンコーディングの指定を変えて試していますか?
build.xml 自体のエンコーディングの宣言を変えてもコンパイルには影響しないと思いますよ。Ant が build.xml を読み込むときに使われるエンコードが決まるだけです。
javac タスクのエンコーディングは指定されていますか?

[ メッセージ編集済み 編集者: インギ 編集日時 2004-09-21 06:12 ]
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-09-21 06:27
>JSP かと勘違いしていました。page ディレクティブなんてありませんよね?(インギさんより)

ほっとしました。最初作ってないと焦り、ここ<?xml version="1.0" encoding="ISO-8859-1"?>のことと思いやりました。よかったです。


===========================================
>ソースファイルは何のエンコーディングで保存されていますか?(インギさんより)
EUC-JPです。

> どこのエンコーディングの指定を変えて試していますか?(インギさんより)
build.xmlの <?xml version="1.0" encoding="ISO-8859-1"?>
build.xmlの <javac srcdir="${src}" destdir="${build}/WEB-INF/classes" encoding="EUC-JP">.......</javac>
gnomeの エンコーディング
ソース内の response.setContentType("text/html; charset=EUC-JP");


==========================================
>javac のエンコーディングは指定されていますか?(インギさんより)

私も最初、エラーメッセージからここが臭いと思ったのですが・・・。これって、外部からencoding属性を指定できないのでしょうか?
御指導よろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)