※ ChatGPTを利用し、要約された質問です(原文:javadoc定数フィールド値の文字化けについて)
javadoc定数フィールド値の文字化けについて
このQ&Aのポイント
定数フィールド値にマルチバイト文字を記述すると、javadoc出力で該当の箇所が文字化けしてしまいます。
WindowsだとUTF-8のファイルはダメ(LinuxならOK)、JDKのバグ(このバージョンだと大丈夫)など、何かお気づきの点があればご教示ください。
javadocコメントはマルチバイト文字で記述することが可能ですが、定数フィールド値にマルチバイト文字を記述すると文字化けしてしまいます。
定数フィールド値にマルチバイト文字を記述すると、javadoc出力で該当の箇所が文字化けしてしまいます。
「そもそもWindowsだとUTF-8のファイルはダメ(LinuxならOK)」、「JDKのバグ(このバージョンだと大丈夫)」など、何かお気づきの点があればご教示ください。
[環境]
・OS:WindowsXP SP3
・JDK:1.5.0_17
[実行したコマンド]
javadoc -private -charset Windows-31J -encoding UTF-8 -docencoding Windows-31J -sourcepath [パス] [パッケージ]
※ やりたいことは、「UTF-8」のソースファイルから「Shift_JIS」のjavadocを作成することです。
[Javaソース]
・文字コード:UTF-8
・改行コード:LF(CRLFでも同じ)
・記述内容
javadocコメントはマルチバイト文字で記述 -> 文字化けしない
定数フィールド値もマルチバイト文字で記述 -> 文字化けする
例)
/** ほげ */
private static final String hoge = "あいうえお";
-> フィールドの概要は文字化けせずに「ほげ」が出力される
-> 定数フィールド値は"\u3042\u3044\u3046\u3048\u304a"が出力される
お礼
さっそくのご回答、ありがとうございます。 ご教示いただいたソースを観て、そういうツクリになっていることが解りました。 やはりマルチバイト出力したいので、javadoc改を作るか、htmlをコンバートするツールを作るかを考えないといけないようですね。 1.6.0以降でできるなら入れ換えるつもりでしたが、それも駄目だと判って助かりました。 ありがとうございました。