- - PR -
Ant 文字化け encoding属性
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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 ] | ||||||||
|
投稿日時: 2004-09-20 23:23
全角スペースとか入っていませんか?
| ||||||||
|
投稿日時: 2004-09-21 02:51
いえ、確認したところ全角スペースはありませんでした。
当り前と言われるかもしれませんが、Javaソース内の日本語を排除したら問題なくいきます。 | ||||||||
|
投稿日時: 2004-09-21 03:24
pageディレクティブのエンコーディングの記述と実際のエンコードは合っていますか?
| ||||||||
|
投稿日時: 2004-09-21 03:55
恐れながら、
これって対策でしょうか? わけもわからず適当にアレコレ試して みただけのように思えますが。 対策というのは、原因がわかってないとできないはず。
『どのように(How)』よりも『なぜ(Why)』うまくいかないか調べる 方が先だと思いますが。 ところで、ryoさんがご使用の環境(XMLパーサ)は"Shift-JIS"と 書くことはできるのでしょうか? 私のは "Shift_JIS" と書きます。 | ||||||||
|
投稿日時: 2004-09-21 05:46
>pageディレクティブのエンコーディングの記述と実際のエンコードは合っていますか?(インギさんより)
全部の組合せをかえて行ってみましたが、全部同じ箇所(日本語で)ひっかかってしまいます。 =========================================== >これって対策でしょうか? わけもわからず適当にアレコレ試してみただけのように思えますが。(Kissingerより) もう、おっしゃる通りです。エラーメッセージから日本語でひっかかっていると思い、encoding属性をあれこれ変えうまくいかず、試しに日本語を外したらうまくいった。が、原因はわからないからここに掲載したという次第です。本当に済みません。 Kissingerさん、どうか教えて下さい、今回の原因の見つけ方を。よろしくお願いします。 =========================================== >ryoさんがご使用の環境(XMLパーサ)は"Shift-JIS"と書くことはできるのでしょうか? 私のは "Shift_JIS" と書きます。(Kissingerさんより) 本当に申し訳ございません。正直"Shift_JIS"は自分の環境では文字化けを起こすのは知っていて、全然使ったことが無いので、完全に勉強不足です。 [ メッセージ編集済み 編集者: ryo 編集日時 2004-09-21 05:46 ] | ||||||||
|
投稿日時: 2004-09-21 05:52
>pageディレクティブのエンコーディングの記述と実際のエンコードは合っていますか?
JSP かと勘違いしていました。page ディレクティブなんてありませんよね? まず、ソースファイルは何のエンコーディングで保存されていますか? また、どこのエンコーディングの指定を変えて試していますか? build.xml 自体のエンコーディングの宣言を変えてもコンパイルには影響しないと思いますよ。Ant が build.xml を読み込むときに使われるエンコードが決まるだけです。 javac タスクのエンコーディングは指定されていますか? [ メッセージ編集済み 編集者: インギ 編集日時 2004-09-21 06:12 ] | ||||||||
|
投稿日時: 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属性を指定できないのでしょうか? 御指導よろしくお願いします。 | ||||||||
