- - PR -
PDFDocletで文字化け
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-20 12:39
PDFDocletを使用してJavadocを作成したいのですが、日本語が文字化けしてしまいます。
PDFDocletのオプションのfont.text.encや、font.code.encでShift_JISや、MS932、UTF-8を指定しても化けたままとなってしまいます。 PDFDocletは、EclipseからAntを使用して実行しています。 どなたか解決方法をご存じないでしょうか? 環境は以下のとおりです。 OS: Windows 2000 Server Eclipse: 3.0.1 Ant: Eclipse上のもの PDFDoclet: 1.0.1 |
|
投稿日時: 2005-12-12 12:38
はじめまして。
HtmlParserWrapperというクラスの、入力ストリームを作成するところで、 文字エンコーディングを"UTF-8"にすれば日本語出力は可能です。 (PDFDoclet: 1.0.1ソースだとちょうどTODOになってるあたり) オプションの、font.XXX.encなどは不要みたいです。 |
|
投稿日時: 2005-12-16 12:59
ちょうど同じことで困っていたんですが、いわさんの情報のおかげで文字化けが解消できました。
ありがとうございます。 私のところではとりあえずこんな↓パッチをあてました。 ━━━━━━━━━━━━━━━━━━━━━━━━━ --- HtmlParserWrapper.java 2005-12-16 12:41:02.734375000 +0900 +++ HtmlParserWrapper.java 2005-12-16 12:16:12.328125000 +0900 @@ -62,7 +62,8 @@ // TODO: Make HTML encoding configurable // InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8")); - InputStream in = new ByteArrayInputStream(content.getBytes()); + //InputStream in = new ByteArrayInputStream(content.getBytes()); + InputStream in = new ByteArrayInputStream(content.getBytes("UTF8")); // Parse the HTML document and return the root node log.debug("Parse DOM..."); @@ -211,10 +212,12 @@ log.debug(">"); - InputStream in = new ByteArrayInputStream(text.getBytes()); + //InputStream in = new ByteArrayInputStream(text.getBytes()); + InputStream in = new ByteArrayInputStream(text.getBytes("UTF8")); ByteArrayOutputStream out = new ByteArrayOutputStream(); parser.parse(in, out); - String content = out.toString(); + //String content = out.toString(); + String content = out.toString("UTF8"); // Cut off any <html> tag if (Util.indexOfIgnoreCase(content, "<html>") == 0) { @@ -262,6 +265,8 @@ parser.setFixComments(false); parser.setForceOutput(true); parser.setHideEndTags(false); + parser.setInputEncoding("UTF8"); + parser.setOutputEncoding("UTF8"); log.debug("<"); } |
1