• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javadoc定数フィールド値の文字化けについて)

javadoc定数フィールド値の文字化けについて

このQ&Aのポイント
  • 定数フィールド値にマルチバイト文字を記述すると、javadoc出力で該当の箇所が文字化けしてしまいます。
  • WindowsだとUTF-8のファイルはダメ(LinuxならOK)、JDKのバグ(このバージョンだと大丈夫)など、何かお気づきの点があればご教示ください。
  • javadocコメントはマルチバイト文字で記述することが可能ですが、定数フィールド値にマルチバイト文字を記述すると文字化けしてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

そういう実装の仕様。 #「文字化け」ではないような気がするけど。 http://java.sun.com/j2se/1.5.0/source_license.html から、事前に登録したIDとパスワードを用いてJRLの方を辿り、(SCSLの方はリンク切れ) Download (JRL Source) から、jdk-1_5_0-src-jrl.zipをダウンロード。 \j2se\src\share\classes\com\sun\tools\javadoc \j2se\src\share\classes\com\sun\tools\doclets あたりから追うことができる。 全部読むと疲れそうなので勘で当たりを付ける。 ConstantsSummaryWriterImpl.javaが FieldDocインターフェースのconstantValueExpressions()を呼び出す。 FieldDocインターフェースを実装ているのは多分FieldDocImplで そのコードは大体以下のようになっていて、 http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Modules-com.sun/tools/com/sun/tools/javadoc/FieldDocImpl.java.htm 118行目から119行目、125行目、132行目と流れて166行目、171行目、177行目と読んでいけば質問者さんなら「当たり前じゃん」って思うと思う。 #自分で改変してビルドするなりご自由に。makefileなんか読んでないけど、オフィシャルなバイナリはexeだからどっかで変換しているんだろう。そこまでやるかは任せる。

crossgate
質問者

お礼

さっそくのご回答、ありがとうございます。 ご教示いただいたソースを観て、そういうツクリになっていることが解りました。 やはりマルチバイト出力したいので、javadoc改を作るか、htmlをコンバートするツールを作るかを考えないといけないようですね。 1.6.0以降でできるなら入れ換えるつもりでしたが、それも駄目だと判って助かりました。 ありがとうございました。